码迷,mamicode.com
首页 > Windows程序 > 详细

C#入门经典(重要知识点)

时间:2018-02-02 14:29:13      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:派生类   mda   rri   virt   入门经典   修饰符   bst   派生   维数   

一、重载和覆盖的区别:

  相同点: 都涉及两个同名的方法。

   不同点: 1.类层次 :重载涉及的是同一个类的两个同名方法;.覆盖涉及的是子类的一个方法和父类的一个方法,这两个方法同名。

       2.参数和返回值 : 重载的两个方法具有不同的参数,可以有不同返回值类型;覆盖的两个方法具有相同的参数,返回值类型必需相同。

 

二、方法的隐藏(关键字new)

  若覆盖时没有使用virtual和override关键字,则称子类的方法隐藏了父类的方法。

  此时编译器报警告。若要消除掉警告,可以使用new修饰符。 C# 会根据引用的类型决定调用哪个类的方法。

  关键字new和override的区别:

    (1).new修饰的方法表示显式隐藏基类继承的同名方法,不能够用基类的引用访问派生类的new方法。

    (2).override表示重写基类的虚方法,可以用基类的引用指向派生类对象来访问派生类的重写方法。

 

三、密封类(关键字sealed)

  C#提供一种不能被继承的类,称为密封类。密封类的声明方法是在类名前加上sealed修饰符。修饰符abstract和sealed不能同时使用。

 

四、多态

  (1)编译时多态——重载;(2)运行时多态——动态绑定(虚函数)

 

五、参数数组(params)

  在不能确定需要传递多少个参数的时候可以使用params关键字指明一个可变的参数数组。

   数组参数的类型必须是一维数组,而且必须是形参表中的最后一个参数。

   数组参数始终是值传递方式进行传递,不能将params同ref和out组合。(引用参数——ref,输出参数——out)

  eg:   params int[ ] Nums

 

C#入门经典(重要知识点)

标签:派生类   mda   rri   virt   入门经典   修饰符   bst   派生   维数   

原文地址:https://www.cnblogs.com/blue-lotus/p/8404532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!