文章目录
- 类的概念
- 类的定义
- 实例
- 例子分析
- 类的成员
- 数据成员
- 属性成员
- 方法成员
- 静态成员
|
类的概念
在日常生活中,类是对具有相同特性的一类是物的抽象。比如水果是一个类,它是对苹果、梨所有具有水果特性的食物的抽象,而这个类中所包含的具体的某一个苹果,某一个梨等个体就是对象。
不同的类具有不同的特征。
如何快速理解类与对象呢?一般大家会教你类是什么,然后对象是类的实例。我今天反过来给大家解释一下。
有一天我们想吃水果,来到菜市场,菜市场就是我们的程序包含很多内容;之后我们来到水果摊前,水果摊就相当于水果这个类;告诉老板我要一个石榴,石榴就相当与对象。我们发现这就是我们日常生活中的思维方式。那么将生活运用到工作当中,运用到程序设计当中,就是我们所说的类与对象。
也就是说我们把具有相同属性或者说类似的内容,归为一类。我们对这一类进行一个描述(抽象),之后我们在使用这一类里的东西就有了一个索引(水果)。我们将一个类的实例称为类的对象(水果里边的石榴)。
还不懂私信我,主页有qq
类的定义
类的定义使用 class关键字
- 语法格式如下:
[访问修饰符] class 类名 {//类的主体 }
其中,访问修饰符可以是 public、protected、internal、private和protected internal等。class是声明类的关键词,类名是自己定义的类的名称,大括号中声明的是类的成员。其中“访问修饰符”可以省略。
- 对类的访问控制权限需要用访问修饰符来定义:
运算符 说明 public 对类的访问不受限制,就像餐厅,谁都可以进去吃饭 protected 对类的访问仅限于包含类或从包含类派生的类,就像员工餐厅,只有公司员工与子公司员工才能进去吃饭 private 访问仅限于包含类,就像私人会所,不对外开放 internal 访问仅限于当前项目,就像其他公司派到公司工作的也可以去员工餐厅吃饭。 protected internal 同时拥有protected、internal的访问权限。 类名一般使用帕斯卡命名法,即首字母大写,通常命名类采用完整的英文单词
实例
定义电话类,类中定义两个类成员,来表示电话的品牌和机型。
新建一个控制台程序,主程序修改如下:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace test {class PhoneClass{public string brand;public string type;}class Program{static void Main(string[] args){PhoneClass Phone = new PhoneClass();Phone.brand = "huawei";Phone.type = "5G";Console.WriteLine("手机品牌是:" + Phone.brand);Console.WriteLine("手机种类是:" + Phone.type);Console.ReadKey();}} }
运行结果:
例子分析
在这个程序中,代码比较简单。我么选择创建控制台应用项目程序,然后向程序中加入了一个简单的电话类。并生成了一个电话对象,并用控制台输出它。
类的成员
组成类的元素称为类的成员,类的成员主要包括描述状态的数据成员和描述操作的函数成员。函数成员提供了操作类中数据的某些功能,包括属性、方法、索引器、事件、运算符、构造函数和析构函数等。
数据成员
类的数据成员包括字段、常量和事件。字段就是在类中定义的变量,用来存储描述类的特征的值。
- 成员变量的定义语法为:
[访问修饰符] 数据类型 成员变量名
其中在声明成员变量时使用不同的访问修饰符来定义他们的访问级别,可以是public、private、protected、internal等,其含义和类的访问修饰符类似。
属性成员
属性是字段的一种自然拓展,是一个与类或对象相关联的命名。与字段不同的是,属性不表示储存位置,属性拥有访问器,访问器定义了读取或者写入属性值时必须执行的代码。通过get{}访问器和set{}访问器来实现对类中私有字段的读写操作。为了类的封装性,一般把描述类的特征的字段定义为private,把属性设为public来操作私有字段。
- 定义属性成员的语法格式如下:
[访问修饰符] 数据类型 属性名 {get{} //get访问器set{} //set访问器 }
其中属性的访问修饰符是用来指定方法的访问级别,主要的访问修饰符和数据成员的访问修饰符一样。属性方法的命名通常使用帕斯卡命名法,即首字母大写。
这里不做解答,可以看我以前写过的的博文,理解访问器。链接如下:
set()与get()详细解答(C#)https://blog.csdn.net/cashmood/article/details/100559325方法成员
方法是用来描述对象的行为的,对类的书据成员的操作都封装在类的方法中。方法的主要功能是操作数据,没有方法的程序是没有意义的,就像电话如果不具备打电话功能,那么他就不叫电话了。
- 方法的声明格式如下:
[访问修饰符] 返回值数据类型 方法名(参数列表) {//方法主体 }
- 方法的访问修饰符是用来指定方法的访问级别的
- 方法的返回值类型可以是任意一种C#类型,如果没有返回值则为void
- 方法的命名建议采用名词动词结合的组合表示
- 方法可以有参数,也可以没有参数
- 方法要具有完成一定功能的完整代码
静态成员
静态成员和类是相关联的,不依赖于特定的对象,可以作为类中共有的成员。如果类的某个方法成员声明时使用了static关键字,该成员就变成了静态成员。在类中可以定义为静态成员的有字段、方法、属性、运算符、事件和构造函数等,但不能是索引器、析构函数。静态成员可以直接使用,不必创建对象,可通过类名.静态成员方式使用静态成员。静态成员为类的所有对象所共享,非静态成员也叫做实例成员,实例成员属于具体的对象。
- 博主简介:
- 工业自动化上位机软件工程师、机器视觉算法工程师、运动控制算法工程师。目前从业于智能制造自动化行业。 博主邮箱:2296776525@qq.com
- 帮忙点个赞吧。哈哈。