欢迎来到天天文库
浏览记录
ID:20169959
大小:1.65 MB
页数:82页
时间:2018-10-10
《第3章 c#面向对象程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、教师:金海溶办公室:QL329第三章C#面向对象程序设计VisualC#.NET程序设计基础教程第3章类面向对象程序设计:从客观世界的对象的属性、状态和行为出发,进行复杂事物管理与问题求解。类:是面向对象程序设计的基本构成模块类的定义:类是具有相同或相似属性和行为的对象的集合,它也是一种数据结构,包含数据成员和函数成员。数据成员类型:常量,字段,事件函数成员类型:方法、属性、索引器、操作符、构造函数和析构函数静态成员★:可以在类的实例之间共享,可以看作是类的全局对象,不需要实例化类即可访问(如int.Parse())p51-54,自学相关理论知识VisualC#
2、.NET程序设计基础教程第3章定义类C#使用class关键字来定义类。其基本结构如下:ClassMyClass{//classmembers}还可以在类定义中指定继承。C#支持类的单一继承,即只能有一个基类,且位于继承列的首项,语法如下:classMyClass:MyBaseClass{//classmembers}定义抽象类(不能实例化的类):publicabstractclassMyClass{……}定义不能被继承的类:publicsealedclassMyClass{……}VisualC#.NET程序设计基础教程第3章4类限制修饰符:public:可以被任
3、意访问;protected:只可以被本类和其派生类(子类)访问;private:只可以被本类所访问。internal:只能在当前程序中被访问,即编译后扩展名为.DLL或.EXE文件中的代码访问。protectedinternal:唯一的一种组合限制修饰符,它只可以被当前程序内所有的类和这些类的派生类所访问。定义类构造函数p57构造函数的函数名必须与类的名字相同,而且是没有任何返回值,用来实例化类的对象classMyClass{publicMyClass(){//构造函数代码}//类的其他成员定义}VisualC#.NET程序设计基础教程第3章析构函数p58类的析
4、构函数是用类名和前缀~来声明的。当释放对象时,就执行析构函数中的代码,释放资源。在调用这个析构函数后,还将隐式地调用基类的析构函数,包括System.Object根类中的Finalize()调用。classMyClass{~MyClass(){//析构函数代码}}VisualC#.NET程序设计基础教程第3章This的引用在方法中,可以使用一个关键词this,来表示这个对象本身。在普通方法中,this表示调用这个方法的对象;在构造方法中,this表示所新创建的对象。VisualC#.NET程序设计基础教程第3章定义类成员成员定义所有成员都有自己的访问级别,用下面
5、的关键字之—来定义:public——成员可以由任何代码访问。private——成员只能由类中的代码访问internal——成员只能由定义它的工程内部的代码访问。proteded——成员只能由类或派生类中的代码访问。VisualC#.NET程序设计基础教程第3章对于class如果没有加修饰符,那么修饰符为internal对于类中的成员如果没有加修饰符,那么修饰符为private对于接口的成员如果没有加修饰符,那么修饰符为public9访问修饰符Teacher类private成员protected成员public成员internal成员Student类只有Stude
6、nt类在Teacher类都在同一程序集中,才可访问internal成员不可访问不可访问可以访问字段和属性p66通过属性和字段可以访问类中的数据,但属性和字段是不同的字段理解为类级别的变量、常量,用于存储该类的实例的相关数据,在定义类时应该设置为私有属性将类中的数据暴露于类外,属性=字段(私有)+1到2个方法(取值方法get和赋值方法set)VisualC#.NET程序设计基础教程第3章属性的定义Public字段类型属性名{get{return字段;}//读取字段set{字段=value;}//设置字段}VisualC#.NET程序设计基础教程第3章字段和属性例子
7、classperson{privatestringname;//定义姓名字段nameprivatestringsex;//定义性别字段sexpublicstringName{//定义姓名属性Nameget{returnname;}set{name=value;}}publicstringSex{//定义性别属性Sexget{returnsex;}set{if(value.Equals("男")
8、
9、value.Equals("女")
10、
11、value.Equals("male")
12、
13、value.Equals("female"))sex=value;elsesex=“未
14、进行正确赋值”;}}}V
此文档下载收益归作者所有