第3章(1) 面向对象的编程基础.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:30 大小:192KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第3章(1) 面向对象的编程基础.ppt

第3章(1)面向对象的编程基础.ppt

预览

免费试读已结束,剩余 20 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章面向对象的编程基础第3章面向对象的编程基础第3章面向对象的编程基础[例3-1]声明类、字段、构造函数和方法。//输出方法publicvoidPrintChild(){Console.WriteLine("{0},{1}yearsold.",name,age);}}publicclassProgram{publicstaticvoidMain(){//使用new关键字创建对象,new后是调用的构造函数Childchild1=newChild("ZhangSan",11);Childchild2=newChild("LiSi",10);Childchild3=newChild();//显示结果Console.Write("Child#1:");child1.PrintChild();Console.Write("Child#2:");child2.PrintChild();Console.Write("Child#3:");child3.PrintChild();Console.ReadLine();}}}第3章面向对象的编程基础第3章面向对象的编程基础[例3-2]定义字段和局部变量。当字段和局部变量名相同时,如果要引用静态字段,可以使用下面的形式:类名.字段名如果是实例字段,则使用下面的形式:this.字段名这里的this指当前实例如果没有出现字段和局部变量名重名的情况,引用字段的形式和引用局部变量的形式相同。4、静态成员与实例成员在类中定义的数据称为类的数据成员,数据成员包含字段、常量和事件等。而函数成员则提供操作类中数据的某些功能,函数成员包括方法、属性和构造函数等。静态(static)成员:当该类被装入内存时,系统就会在内存中专门开辟一部分区域保存这些静态成员,这样一来,其他类不必建立该类的实例就可以直接使用该类的静态成员。实例成员:只有创建了类的实例才能够使用的成员。需要注意的是,静态成员在内存中只有一份,不像实例成员可以有多个。而且静态成员要等到应用程序结束时才会消失,所以使用时要根据具体情况决定是否使用静态成员。在C#语言中通过指定类名来调用静态成员,通过指定实例名来调用实例成员。5、访问修饰符将数据和方法封装在类中是为了便于对数据和方法进行控制和修改,访问修饰符用于控制类中的数据和方法的访问权限,C#语言中有以下几种成员访问修饰符。public:指任何外部的类都可以不受限制地存取这个类的方法和数据成员。private:指类中的所有方法和数据成员只能在此类中使用,外部无法存取。protected:除了本身的类可以使用之外,任何继承自此类的子类都可以存取。internal:在当前项目中都可以存取。该访问权限一般用于基于组件的开发,因为它可以使组件以私有方式工作,而该项目外的其他代码无法访问。protectedinternal:只限于当前项目,或者从该项目的类继承的类才可以存取。partial:局部类型,类的定义和实现可以分布在多个文件中,但都要使用partial标注。注意:基类只需要声明一次,若多次声明则必须完全一致。3.1.2构造函数构造函数是一个特殊的方法,用于在建立对象时进行初始化的动作。C#中每当创建一个对象时,都会先调用类中定义的构造函数。构造函数还具有以下特点。(1)每个类至少有一个构造函数。如果程序代码中没有构造函数,则系统会自动提供一个默认的构造函数。(2)一个构造函数总是和它的类名相同。(3)构造函数不包含任何返回值。(4)构造函数一般使用访问修饰符public,以便在其他函数中可以创建该类的实例。1、默认构造函数如果在类中不定义构造函数,系统会自动提供一个默认的构造函数,默认构造函数没有参数。提供默认构造函数的目的是为了保证能够在使用对象前先对未初始化的非静态类成员进行初始化工作,即将非静态成员初始化为下面的值。(1)对数值型,如int、double等,初始化为0。(2)对bool类型,初始化为false。(3)对引用类型,初始化为null。如果在程序代码中定义了类的构造函数,则所有初始化工作由编程者自己完成。usingSystem;namespaceOverloadingExample{classProgram{publicProgram(){Console.WriteLine("null");}publicProgram(stringstr){Console.WriteLine(str);}staticvoidMain(){Programaa=newProgram();Programbb=newProgram("Howareyou!");Conso