黑马程序员-面向对象基础-类的继承及访问权限

来源:互联网 发布:java物业管理系统源码 编辑:程序博客网 时间:2024/05/17 23:11
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

1.类的继承
把这些具有相同属性和相同方法的类,进行进一步抽象的封装,提取出了父类这个概念
继承:减少代码的冗余少写点代码
特性:
1)、单根兴:一个类只能继承与一个父类只能有一个爹。
2)、传递性:如果爹继承了爷爷,并且孙子继承了爹,那么孙子和爹都能使用到爷爷的东西。
 
2.子类从父类那里继承了属性和方法,子类并没有继承父类的私有字段。
子类并没有继承父类的构造函数,但是子类会默认的调用父类无参数的构造函数,
当你在父类中写了一个新的构造函数之后,默认的无参数的就没了,此时此类就
掉不到那个父类中默认的无参数的构造函数了。
解决方法有两个:
1)、在父类中,再加一个无参数的
2)、在子类中显示的调用父类当中的构造函数 使用关键字 base

3.静态类的继承问题
里面只包含静态方法,静态构造函数,静态成员,里面不能有实例对象
继承是一个实例化的过程,所以不能被继承.
静态类的几个注意点:
1).静态类不能有实例构造器。
2).静态类不能有任何实例成员。
3).静态类不能使用abstract或sealed修饰符。
4).静态类默认继承自System.Object根类,不能显式指定任何其他基类。
5).静态类不能指定任何接口实现。
6).静态类的成员不能有protected或protected internal访问保护修饰符

4.当定义一个类的时候,如果没有写:继承一个类,那么这个类就继承了object类

5.c#中的访问修饰符
1).public:没有访问限制,公开的,公共的,哪都能访问到。
2)private:私有的,只能在当前类的内部访问到,出了本类,就访问不到了 ,类中的成员,如果不写访问修饰符,默认就为private
3)protected:受保护的,只能在当前类的内部以及该类的子类中访问。
4)internal:只能在当前程序集的内部访问。类的前面如果不写访问修饰符的话,默认为internal.
5) protected internal:protected的访问权限+internal的访问权限。
没办法比较protected的访问权限和internal的访问权限。
6)partial:部分类
7)sealed:密封类  特点:不能被继承
8)var:推断类型   可以根据这个变量的值,来推断出这个变量的类型

 

 ---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

原创粉丝点击