欢迎来到天天文库
浏览记录
ID:36316010
大小:972.00 KB
页数:69页
时间:2019-05-09
《net面向对象程序设计-7-创建并管理类和对象》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1孙月江syjsdut@163.com12第7章创建并管理类和对象定义一个类,在其中包含一些列相互关联的方法和数据项使用public和private关键字,控制成员的可访问性使用new关键字来创建对象并调用一个构造器来初始化自己编写并调用构造器使用static关键字创建可由同一个类的所有实例共享的方法和数据解释如何创建匿名类37.1理解分类设计一个类的过程,就是对信息进行分类,将相关信息放到一个有意义的实体中的过程47.2封装的目的封装是类的一个重要原则中心思想:使用一个类的程序不应该关系类的内部实际如何工作封装有时也称为信息隐藏封装的目的:
2、将方法和数据合并到一个类中;换言之,为了支持分类控制对方法和数据的访问;换言之,为了控制类的使用类和对象类是对象的模板,它定义了对象的公共属性和行为(方法)。属性和方法共同称作类的成员对象是类的实例,是具体的对象必须使用new进行实例化才可以使用类和对象3.1.1类对象人类(模板)阿土仔(具体化)姓名姓名=阿土仔性别性别=男使用卡片()使用“陷害卡”使用道具()使用“飞弹”属性方法类和对象3.1.1类:相对对象而言,类似于模板或蓝图包含方法和数据对象:是类的实例使用关键字new创建对象具有状态和行为对象厨房起居室浴室书房饭厅储藏室门廊类8类概
3、览Class_definition::=class{}::=::=::=::=::=::=::=::=::=::=::=4、exers>::=::=::=::=类成员被分成了三大类:数据成员函数成员嵌套类型9数据成员包括:成员变量:(也叫域)用于表示数据成员变量可以用于类的特定实例(对象)---实例变量;也可以属于类自身(通过声明为static),这时,它称为静态变量或类变量。一个静态方法通过它的类(不是它的对象)来调用且它属于类而不属于对象。同样,一个静态变量属于类而不是任何特定的对象。常量成员变量也可以声明为只读(通过R5、eadonly关键字)常量成员的值在编译程序时被设置为源代码中指定的值,并且在所编译程序的整个生存期内均表示这一值。而只读成员变量在创建时给它赋值,并且在此对象生存期内保持此值。事件按声明成员变量的相似方式来声明。用法大不一样。事件驱动程序。程序执行的下一个动作取决于程序中触发的下一个事件。所以,让程序按语句书写顺序依次执行的思想恐怕得不到实现了。当运行一个GUI应用程序时就需要此异步功能。10函数成员包括:方法构造函数析构函数属性索引器操作符11嵌套类型:类体中定义的类、结构、枚举和接口7.4控制可访问性一个方法或字段假如只允许从类的内部访6、问,就说他是私有的(private)该关键字是默认的,但作为一种良好的编程习惯,应该显式地将方法和字段声明为private一个方法或字段假如既能从类的内部访问,也能从外部访问,就说他是公共的(public)注意:方法中声明的变量默认是不初始化的相反,类中的字段自动初始化为0,false或null作为一个良好的编程习惯,应该显式地初始化字段12命名和可访问性.NETFramework推荐以下字段和方法的命名约定,它们是以可访问性为出发点来考虑的:public的标识符应该以大写字母开头,例如:Area非public的标识符应该以小写字母开头,例如7、:radius例外:类名是以大写字母开头,而构造器必须完全和类名相同,故一个private的构造器也应该以大写字母开头13147.4.1使用构造器字段的构造器创建一个对象时,对应的表示实例变量的内存被分配,这是对象创建过程的一部分。但分配完成后(且在任何自动或人工初始化发生前),内存和实例变量仅表示上次使用后残留的垃圾。将这部分垃圾用于计算就会导致错误的结果。例:distance=time*speed;没有实例化的实例变量很容易导致错误的发生151、自动初始化short、int、float、decimal等为0char类型值赋值为Unicod8、e字符、u0000bool类型值初始为false引用类型初始化为null一般情况下,不推荐让运行时自动执行实例变量的初始化:阅读源代码的程序员不能看到此初始值。他或
4、exers>::=::=::=::=类成员被分成了三大类:数据成员函数成员嵌套类型9数据成员包括:成员变量:(也叫域)用于表示数据成员变量可以用于类的特定实例(对象)---实例变量;也可以属于类自身(通过声明为static),这时,它称为静态变量或类变量。一个静态方法通过它的类(不是它的对象)来调用且它属于类而不属于对象。同样,一个静态变量属于类而不是任何特定的对象。常量成员变量也可以声明为只读(通过R
5、eadonly关键字)常量成员的值在编译程序时被设置为源代码中指定的值,并且在所编译程序的整个生存期内均表示这一值。而只读成员变量在创建时给它赋值,并且在此对象生存期内保持此值。事件按声明成员变量的相似方式来声明。用法大不一样。事件驱动程序。程序执行的下一个动作取决于程序中触发的下一个事件。所以,让程序按语句书写顺序依次执行的思想恐怕得不到实现了。当运行一个GUI应用程序时就需要此异步功能。10函数成员包括:方法构造函数析构函数属性索引器操作符11嵌套类型:类体中定义的类、结构、枚举和接口7.4控制可访问性一个方法或字段假如只允许从类的内部访
6、问,就说他是私有的(private)该关键字是默认的,但作为一种良好的编程习惯,应该显式地将方法和字段声明为private一个方法或字段假如既能从类的内部访问,也能从外部访问,就说他是公共的(public)注意:方法中声明的变量默认是不初始化的相反,类中的字段自动初始化为0,false或null作为一个良好的编程习惯,应该显式地初始化字段12命名和可访问性.NETFramework推荐以下字段和方法的命名约定,它们是以可访问性为出发点来考虑的:public的标识符应该以大写字母开头,例如:Area非public的标识符应该以小写字母开头,例如
7、:radius例外:类名是以大写字母开头,而构造器必须完全和类名相同,故一个private的构造器也应该以大写字母开头13147.4.1使用构造器字段的构造器创建一个对象时,对应的表示实例变量的内存被分配,这是对象创建过程的一部分。但分配完成后(且在任何自动或人工初始化发生前),内存和实例变量仅表示上次使用后残留的垃圾。将这部分垃圾用于计算就会导致错误的结果。例:distance=time*speed;没有实例化的实例变量很容易导致错误的发生151、自动初始化short、int、float、decimal等为0char类型值赋值为Unicod
8、e字符、u0000bool类型值初始为false引用类型初始化为null一般情况下,不推荐让运行时自动执行实例变量的初始化:阅读源代码的程序员不能看到此初始值。他或
此文档下载收益归作者所有