黑马程序员 面向对象基础 总结

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

1.访问修饰符:
privae(私有):用于成员访问限制,不允许外部对象访问该成员。
public(公有):用于类型和成员,修饰成员时表示允许外象访问该成员,修饰类型时表示允许外部程序集使用该类型。
protected(保护):用于成员访问限制,允许当前类及其派生类的对象访问该成员,成不允许其他外部对象访问。
internal(内部):用于类型和成员访问限制,表示不允许外部程序集使用该类型或成员。

2.cont修饰的为常量,只能在定义时初始化。默认为静态,只能通过类名点方式访问,属于类的。
readonly 修饰的为只读字段;
说明:只读只字段只能在对象创建时被赋值(取定义时的值或者在构造函数中赋新值),而后不允许被修改,属于对象的。
params 声明使用数组型参数, 传递给数组型实参既可以是一个数组,也可以传任意多个数组元素类型的变量。
注意:1.方法中只允许定义一个数组型参数,而且该参数必须位于参数列表中的 最后
 2.数组型参数必须是一维数组;
 3.数组型参数不能同时作为引用型参数或输出型参数

3.静态构造函数:
1).没有任何参数,且不声明访问限制(默认为实际public).
2).使用static修饰符的静态构造函数为类的所有对象共享,并且只在首次使用该类时或第一个静态方法被引用时调用。
析构函数:
1).一个类中只能有一个析构函数,其名称是在类名前加上符号“~”。
2).析构函数不能有参数和返回类型,不能是静态的,也不能加访问限制修饰符。

4.操作符重载:可以实现两个类的运算。 方法名operator +  public static 修饰,返回该类型,接受两个该类型的参数。                      
5.继承:  继承时,子类的访问级别不能比父类的高.
类中属性或字段的访问级别不能比所对应的类型访问级别高。
方法的访问级别不能比方法的参数和返回值的访问级别高。

6.隐藏基类成员: 如果派生类定义了与基类相同的成员(字段名称和类型相同,或是方法名称、参数列表类型个数对应相同),通过实例名点的方式调用,会根据当前声明的不同调用不同的方法。 叫做隐藏基类成员,C#建议使用new关键字来明确修饰派生类中的成员;
派生类和基类也可以构成重载(方法相同,参数类型或个数不同),调用时根据参数选择。

7.base 关键字: 指向父类。 当派生类成员隐藏了基类成员时,base关键字就能发挥其特有的作用了。

8.System.GC.Collect(); //垃圾收集器,先构造父类,再子类,先析构子类     //再析构父类
再构造子类要调用父类的构造函数, 再子类构造函数后面可以加:base(实参)来调用父类构造函数,如果不加,则默认调用无参的。

9.虚拟方法和重载方法:如果派生类的成员隐藏了基类的成员方法,那么程序会根据对象的声明类型而非实际类型来决定调用哪一个方法。 C#中,只要将基类的方法定义为虚拟方法(使用关键字virtual修饰),将派生类中的对应方法定义为重载方法(使用关键字override修饰),那么程序就能够根据对象的实际类型来决定调用哪一个方法。

10抽象类和抽象方法: 通过abstract关键字来进行修饰。抽象类 派生的 抽象派生类方法同时也使用override和abstract 修饰符。抽象类不能创建实例,但它仍可以定义构造函数(但不能使用abstract修饰符),其作用是供派生类的构造函数重载之用。
属性和索引函数也可是抽象的,不提供实现代码,但要声明访问器的类型, 重载的索引函数和属性必须提供一致的访问器类型,
注意抽象类和静态类都不能创建实例,但一个类不能既是抽象的又是静态的。同样,抽象方法、虚拟方法和重载方法也不能是静态的。

11密封类和密封方法:使用sealed修饰,表示这个类已经很完美了,不需要再继承了。 修饰方法时,该方法不能被重载。

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值