1 / 21
文档名称:

第7章 类和对象.ppt

格式:ppt   页数:21
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第7章 类和对象.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第7章 类和对象.ppt

文档介绍

文档介绍:第7章类和对象
类的声明
类由类头和类体两部分组成。声明一个类的格式为:
attributes 类修饰符 class 类名: 基类类体
其中attribute、基类、类体是可选的。
类的概念
特性(attribute):是C#新的成分,,如类型、字段、方法和属性,并附加新的特征。.NET Framework的MSIL和CLR支持attribute。
类的声明
类修饰符有:abstract、public、protected、internal、private、new、sealed。一个类声明可以包含多个类修饰符,但是不能重复。 类修饰符:abstract用来指示该类是抽象类,抽象类是一种没有完全实现的类,它不能产生对象,只能被继承;修饰符public、protected、private、internal是访问控制符,用来规定外界调用该类成员权限;new用作类修饰符只能修饰嵌套的类,具有隐藏同名成员的作用;sealed修饰符指出该类是最终类,即,不能被继承。
class:是关键字,是声明类的必须的符号。
类名:是类设计者指定的标识符。
基类:如果正在定义的类需要从另一个类中继承所有的成员,被继承的类就是基类,引入基类时,在类名和基类之间加上冒号运算符“:”,接口也是一种基类。
类体:包括类的数据成员、表现这些成员行为的方法、以及成员的修饰符,类体中的所有内容置于一对大括号“{”和“}”之间。
类的成员(1)
常量
用const关键字声明常量的形式为:
修饰符 const 类型常量名= 常量表达式;
常量字段有如下特点:
常量必须在声明的同时初始化,所以常量表达式必须是能够在编译时计算确定的值
常量只能一次赋值,以后不能改变
常量的类型可以是简单类型、枚举类型、string类型和非string的其它引用类型(但是值只能是null),结构不能是常量
常量是隐式的静态成员(但不能用static修饰),也就是说,常量字段属于类而不属于对象,使用常量需要用“”这样的形式
类的成员(2)
实例字段和静态字段
C#中有两种字段,属于具体对象的实例字段和属于类的静态字段。字段默认为实例字段。
假设有一个类X,X中有一个实例字段t,一个静态字段s;从X产生100个对象,那么每个对象都有一个字段t,存储器中有100个t,但是100个对象共享1个静态字段s,存储器中只有1个s。
静态字段要用关键字static声明,例如:static int Total;
静态字段属于类,所以使用静态字段要用“”这样的形式。
C#中还有其它静态成员,例如静态方法,static修饰的成分的作用和用法.
静态字段能被静态方法和实例方法所访问。
类的成员(3)
只读字段
只读字段用关键字readonly声明,顾名思义,这样的字段是只可读出,不可写入的,这一点和常量相同。
对只读字段赋值只能在如下情况下进行:
声明只读字段的同时初始化
在构造函数和静态构造函数中初始化
在上述的情况下甚至可以多次赋值,除此以外,只读字段只能读出不能修改了。也不能将它们用作out参数或者ref参数。如果只读字段没有初始化,就自动赋以默认值。
只读字段和常量的差别:
只读字段不具备static特征,只读字段属于实例。
只读字段可以在运行阶段确定值,常量是在编译阶段确定值,因此可以用变量表达式对只读字段赋值。
只读字段可以是任何类型。
const可以修饰局部变量,但readonly不能修饰局部变量。
对象
类中除了常量以外,其它数据成员只有类型,但没有具体的数据,表现这些数据的行为的方法,也没有用武之地。当类中的数据有了具体的值以后,就形成了对象,类中的方法也有了运行的基本条件,所以对象是类的实例。不同的对象具有不同的对象名和仅仅属于自己的数据。
逻辑上,对象拥有自己定义的数据成员和方法以及所有继承得到数据成员和方法,但是物理上:对象名是存储在栈中的,对象的数据是在堆中的,而方法是存放在代码区中的,类的方法和类在一起,为该类的所有对象共享,这样保证了一个类的所有对象的行为的一致性。一个对象必须拥有自己的对象名和数据,但是完全没有必要拥有一份代码的拷贝。
一个类可以产生许多对象,类的生命期和对象的生命期是不同的,不同的对象可能有不同的生命期。
调用对象的成员的形式为:
构造函数
构造函数又称构造方法,C#的构造函数有两种:实例构造函数和静态构造函数,实例构造函数初始化对象

最近更新

2025年浙江商业职业技术学院单招职业倾向性测.. 40页

2026年内蒙古机电职业技术学院单招职业技能考.. 42页

2025年浙江安防职业技术学院单招职业倾向性考.. 40页

2026年内蒙古美术职业学院单招职业技能测试题.. 43页

2026年农学高职单招试题及答案1套 42页

2025年浙江工贸职业技术学院单招职业适应性考.. 39页

2025年浙江旅游职业学院单招职业技能测试模拟.. 41页

2025年浙江树人大学单招综合素质考试模拟测试.. 41页

2025年浙江海洋大学单招职业倾向性测试模拟测.. 40页

2025年浙江省丽水市单招职业适应性考试模拟测.. 41页

2025年浙江科技学院单招职业适应性测试模拟测.. 40页

2026年单招机械大类测试题必考题 41页

2025年浙江经贸职业技术学院单招职业适应性考.. 41页

2026年单招测试题年必考题 41页

2025年浙江警官职业学院单招职业倾向性测试题.. 40页

2026年单招类试题讲解及答案1套 41页

2026年单招综评医学试题必考题 43页

2025年浙江金华科贸职业技术学院单招职业适应.. 41页

2025年浙江长征职业技术学院单招职业倾向性测.. 42页

2026年单招试题开封大学必考题 43页

2026年单招足球测试题及答案1套 42页

2025年海南外国语职业学院单招职业适应性测试.. 42页

2026年历届河北单招试题必考题 43页

2025年淮南职业技术学院单招职业倾向性测试模.. 40页

2026年厦门安防科技职业学院单招职业适应性考.. 41页

2025年渤海理工职业学院单招综合素质考试题库.. 41页

2025年渤海船舶职业学院单招职业适应性考试模.. 41页

2025年温州理工学院单招综合素质考试模拟测试.. 41页

2025年广州卫生职业技术学院单招职业技能测试.. 64页

美团代运营业务委托合同 6页