首页 技术 正文
技术 2022年11月14日
0 收藏 483 点赞 2,532 浏览 1564 个字

对象和类

本篇正式进入面向对象的知识点简述:

何为对象,佛曰:一花一世界,一木一浮生,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静。可见万物皆对象

对象:包含数据和操作的实体。  

面向过程:面向的是完成这件事儿的过程,强调的是完成这件事儿的动作。

 

举例:把大象塞进冰箱里

1、打开冰箱门

2、把大象塞进去

3、关闭冰箱门

如果我们用面向对象的思想来解决这件事儿,当执行这件事的人的不同的时候,我们需要为每个不同的人量身定做解决事情的方法。

面向对象:找个对象帮你做事儿。

把大象塞进冰箱里

我们把冰箱作为对象:

1、冰箱门可以被打开

2、大象可以被塞进冰箱里

3、冰箱门可以被关闭

这就是面向对象要干的事。

 

我们在代码中描述一个对象,通过描述这个对象的属性和方法

对象必须是看得见摸得着的。

例如:

灯:属性和方法

属性:

外形:长的

亮度:500W

颜色:白色

牌子:XX

方法:发光

 

我们把这些具有相同属性和相同方法的对象进行进一步的封装,抽象出来 类这个概念。

类就是个模子,确定了对象应该具有的属性和方法。

对象是根据类创建出来的。

类就是一个盖大楼的图纸   对象 就是盖出来的大楼。

 

类:属性和行为封装起来的

声明类的语法:[访问修饰符]class<类名(自定义)>{}

[访问修饰符] class 类名

{

   字段;

   属性;

   方法;

}

代码展示:

public class Student
{
//字段
private string _name; //属性
public string Name
{
//当你输出属性的值得时候 会执行get方法
get { return _name; }
//当你给属性赋值的时候 首先会执行set方法
set { _name = value; }
} public void Say()
{
Console.WriteLine();
}
}

类与对象的区别:类和对象有着本质的区别,类是具体对象的抽象描述;而对象是真是的实体;由对象归纳为类,是归纳对象共性的过程;在类的基础上,将状态和行为实体化为对象的过程称为实例化。

这里有一个小案例(控制台程序):

static void Main(string[] args)
{
// Person sunQuan;//自定义类
// 创建Person类的对象
Person suQuan = new Person();
suQuan.Name = "笑颜";
suQuan.Age = -;
suQuan.Gender = '春';
suQuan.CHLSS();
Console.ReadKey();
}
/ / Person 自定义类
public class Person
{
private string _name;
public string Name
{
//当你输出属性的值得时候 会执行get方法
get { return _name; }
//当你给属性赋值的时候 首先会执行set方法
set { _name = value; }
} private int _age;
public int Age
{
get { return _age; }
set
{ if (value < || value > )
{
value = ;
} _age = value;
}
} private char _gender;
public char Gender
{
get
{
if (_gender != '男' && _gender != '女')
{
return _gender = '男';
}
return _gender; }
set { _gender = value; }
} public void CHLSS()
{
Console.WriteLine("我叫{0},我今年{1}岁了,我是{2}生,我可以吃喝拉撒睡哟~~~", this.Name, this.Age, this.Gender);
}
}

运行结果:

.NET 基础 一步步 一幕幕[面向对象之对象和类]

最后总结:类是对象的具体实现, 对象是类的抽象描述

最后打个小广告:QQ群: .NET 一步步一幕幕  群号:590170361 (加群备注:博客园看到的)

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,996
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,510
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,353
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,137
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848