三章节类对象及方法.ppt
《三章节类对象及方法.ppt》由会员分享,可在线阅读,更多相关《三章节类对象及方法.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、三章节类对象及方法 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望类基础类基础类实际上是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法。类定义了每个对象可以包含什么数据和功能,但类自己不能包含数据。比如一个类代表一个人,它就可以定义所有与人相关的信息(身高、年龄、体重等)。使用时,实例化对象表示某一个人。类类类 对象对象对象人类人类人类 (模板)(模板)(模板)张三(具体化)张三(具体化)张三(具体化)姓名姓名姓名 姓名姓名姓名=张三张三张三性别
2、性别性别 性别性别性别=男男男使用证件(使用证件(使用证件()使用使用使用“身份证身份证身份证”使用交通工具(使用交通工具(使用交通工具()使用使用使用“小轿车小轿车小轿车”n nn类:类:类:类:类:类:相对对象而言,类似于相对对象而言,类似于相对对象而言,类似于相对对象而言,类似于相对对象而言,类似于相对对象而言,类似于模板或蓝图模板或蓝图模板或蓝图模板或蓝图模板或蓝图模板或蓝图 包含方法和数据包含方法和数据包含方法和数据包含方法和数据包含方法和数据包含方法和数据n nn对象:对象:对象:对象:对象:对象:是类的实例是类的实例是类的实例是类的实例是类的实例是类的实例 使用关键字使用关键字使
3、用关键字使用关键字使用关键字使用关键字 new new new 创创创创创创建建建建建建 对象具有状态和行为对象具有状态和行为对象具有状态和行为对象具有状态和行为对象具有状态和行为对象具有状态和行为对象对象类类厨房厨房起居室起居室浴室浴室书房书房饭厅饭厅储藏室储藏室门廊门廊n nn类是对象的模板,使用对象前必须先创建类类是对象的模板,使用对象前必须先创建类类是对象的模板,使用对象前必须先创建类类是对象的模板,使用对象前必须先创建类类是对象的模板,使用对象前必须先创建类类是对象的模板,使用对象前必须先创建类n nn定义类定义类定义类定义类语法:语法:语法:语法:语法:语法:classclass
4、类名类名 访问修饰符访问修饰符 常量声明;常量声明;访问修饰符访问修饰符 字段声明;字段声明;访问修饰符访问修饰符 方法声明;方法声明;访问修饰符访问修饰符 属性声明;属性声明;访问修饰符访问修饰符 构造函数声明;构造函数声明;访问修饰符访问修饰符 析构函数声明;析构函数声明;说明:说明:使用类声明可以创建新的类类型。类声明以一个声明头开始,使用类声明可以创建新的类类型。类声明以一个声明头开始,其组成方式如下:先类的名字,它由一组包含在大括号(其组成方式如下:先类的名字,它由一组包含在大括号()中的成员声明组成中的成员声明组成。声明声明声明声明定义定义定义定义public表示可以在类定义和派生
5、类的层次结构之外访问此成员private不能在定义此成员的类之外访问它,即使是派生类也不能访问此成员internal从类型只限本程序访问所在的assembly访问protected只限本类及其派生类访问成员C#访问修饰符为:访问修饰符为:类里面的成员除了具备类访问修饰符外,还有下列的修饰符可用:const声明成员是常量event声明成员是事件new用于隐藏基类(base)的成员override用于覆盖基类中的virtual,static,abstract成员readonly声明成员是只读的static声明成员是静态成员virtual声明成员是虚拟成员,让派生类的成员实现定义常量定义常量常量声明
6、的语法如下:修饰符const类型常量标示符;下列在类A中声明个常量,分别为X=1.0,Y=2.0,Z=3.0;classApublicconstdoubleX=1.0,Y=2.0,Z=3.0;不允许在常数声明中使用 static 修饰符。常数可以参与常数表达式,例如:public const int c1=5;public const int c2=c1+100;定义字段定义字段当从类创建一个对象实体时,该对象将包含该类定义里所有当从类创建一个对象实体时,该对象将包含该类定义里所有的变量(字段),这些变量可分为两个大类,属于对象实体的变量(字段),这些变量可分为两个大类,属于对象实体个别的以及
7、属于类全体的个别的以及属于类全体的每个对象实体都会拷贝一份属于对象自己的变量,可各自设每个对象实体都会拷贝一份属于对象自己的变量,可各自设置它们的值,这种变量称为对象实体变量置它们的值,这种变量称为对象实体变量属于类全体的变量为该类所有的对象所共同拥有,不论你对属于类全体的变量为该类所有的对象所共同拥有,不论你对该类创建多少个对象,属于类的变量只保存一份,这种变量该类创建多少个对象,属于类的变量只保存一份,这种变量称为类变量称为类变量 访问修饰符访问修饰符 数据类型数据类型 字段名字段名 =缺省值缺省值 classCirclepublicconstdoublePI=3.14159;privat
8、edoublexCenter;privatedoubleyCenter;privatedoubleradius;以上定义一个Circle类,属于公有的,PI属于类常量,它默认为static属性,属于Circle所有对象所共有的,因此只有一份拷贝xCenter,yCenter,radius这三个变量都属于对象变量,每个对象都有一份拷贝xCenter=3.1 yCenter=5.0 radius=7xCenter=6.1 yCenter=12.0 radius=8 PI=3.14159Circle1Circle2类变量既然与对象无关,那么要访问它并不需要创建对象,只需写上类名称,其后跟着小数点和类
9、变量名称就可以了如:类名称类变量名称因此要访问PI只需写成:Circle.PI访问对象变量,需要创建对象,只需写上对象名称,其后跟着小数点和对象变量名称就可以了如:对象名称对象变量名称Circlecircle1=newCircle()circle1.radius例:例:using System;class Circle public const double PI=3.14159;public double xCenter;public double yCenter;public double radius;class VariableTest public static void Main(
10、)Circle circle1=new Circle();Console.WriteLine(常数常数 PI=0,Circle.PI);Console.WriteLine(变量变量 radius=0,circle1.radius);如何创建对象如何创建对象在前面的程序中我们通过执行下面语句创建了一个对象:Circle circle1=new Circle();该声明语句执行二个功能:第一声明一个称为circle1的Circle类类型的变量,该变量不定义对象,实际上它仅仅是一个包含所创建对象引用的引用变量,第二,使用new运算赋可以创建一个实际物理对象,并将此对象的引用分配给circle1。因此
11、可以编写成独立分开的形式:Circlecircle1;circle1=newCircle();using System;class Building public int floors;/number of floors public int area;/total square footage of building public int occupants;/number of occupants class BuildingDemo public static void Main()Building house=new Building();Building office=new Bui
12、lding();int areaPP;/area per person /assign values to fields in house house.occupants=4;house.area=2500;house.floors=2;/assign values to fields in office office.occupants=25;office.area=4200;office.floors=3;/compute the area per person in house areaPP=house.area/house.occupants;Console.WriteLine(hou
13、se has:n +house.floors+floorsn +house.occupants+occupantsn +house.area+total arean +areaPP+area per person);Console.WriteLine();/compute the area per person in office areaPP=office.area/office.occupants;Console.WriteLine(office has:n +office.floors+floorsn +office.occupants+occupantsn +office.area+t
14、otal arean +areaPP+area per person);floorsfloors2 2areaarea25002500occupantsoccupants4 4floorfloor3 3areaarea42004200occupantsoccupants2525houseoffice定义方法定义方法字段(变量)和方法是类的两个主要组成部分,前面的Building类只包含数据而不包含方法,虽然只有数据的类完全有效,但大多数类是需要包含方法的。在一个类里定义的方法,提供针对类里的变量所运行的一些操作,就像类里的变量有类变量和对象变量一样,方法也有类方法和对象方法类方法不需要对象就可
15、以运行,但对象方法必须通过指定的对象才能运行 访问修饰符访问修饰符 返回值返回值类型类型 方法名方法名 (参数)(参数)指令集合;指令集合;/方法体方法体 using System;class Building public int floors;/number of floors public int area;/total square footage of building public int occupants;/number of occupants /Display the area per person.public void areaPerPerson()Console.Wr
16、iteLine(+area/occupants+area per person);/Use the areaPerPerson()method.class BuildingDemo public static void Main()Building house=new Building();Building office=new Building();/assign values to fields in house house.occupants=4;house.area=2500;house.floors=2;/assign values to fields in office offic
17、e.occupants=25;office.area=4200;office.floors=3;Console.WriteLine(house has:n +house.floors+floorsn +house.occupants+occupantsn +house.area+total area);house.areaPerPerson();Console.WriteLine();Console.WriteLine(office has:n +office.floors+floorsn +office.occupants+occupantsn +office.area+total area
18、);office.areaPerPerson();publicclassCirclepublicstaticintcount=1;publicconstdoublePI=3.14159;publicdoublexCenter;publicdoubleyCenter;publicdoubleradius;public static int getCount()return count;属于类的方法为该类所有的对象共同拥有,不论你对该类创建多少个对象,属于类的方法只保存一份,这种方法也称为静态方法,声明时前面要加上static修饰符public void setRadius(double r)ra
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章节 对象 方法
限制150内