zoukankan      html  css  js  c++  java
  • C#学习笔记(3)

    先理解一下方法重写和方法重载这2个概念:

    1.方法重写(override):发生在父子类之间,子类重写父类中的方法,关键字是override.

    2.方法重载(overload):一个类中有多个重名的方法(重载构成的条件是,方法参数个数不同,类型不同,与方法返回值无关

    再说下C#中的多态:

    多态的目的:为了程序的可扩展性。

    开放封闭原则:对扩展开发,对修改封闭。

    C#中实现多态有3种“手段”:

    1.通过虚方法(virtual)

    2.通过抽象类(abstract)

    3.通过接口(interface)

    先介绍些概念:

    虚方法的特点:virtual关键字标识,必须有代码实现,哪怕是空实现。

    抽象类的特点:abstract关键字标识,抽象类不能被实例化;可以有实例成员,也可以有抽象成员。抽象方法不能有代码实现。

    今天先说第一种方法:父类中的方法,子类要重写,必须将父类方法标记为virtual(虚方法),子类重写父类时,使用关键字override。

    1.父类中的虚方法,子类既可以重写也可以不重写,不重写时子类调用父类中的虚方法。

    2.子类的子类(孙子等)可以重写上一级子类中的方法,如果想要一个子类中的方法不再被其下一代子类重写,加Sealed关键字。

    多态的作用:

    把不同子类对象当做父类来看,屏蔽不同子类对象之间的差异,写出通用的代码,做通用的编程,适应需求的不断变化。

    new关键字的用法:

    1.new关键字隐藏父类继承过来的方法:

    public new void say()

    {

    }

    此时,因为没有通过override重写父类中的方法,所以通过父类类型变量调用相同方法时,访问的还是父类自己中的方法(子类没有重写)

    2.用来创建对象;

    例:Person p=new Person();

  • 相关阅读:
    HTTP method GET is not supported by this URL
    idea 报错javax/xml/bind/DatatypeConverter
    PartyBid 学习笔记 之 第二张卡片总结
    PartyBid 学习笔记 之 第一张卡片总结
    Yeoman 之 Jade自动化生成的Grunt实现
    Jade —— 简洁的HTML模版引擎
    Underscore.JS 之 消灭for循环
    SqlServer 根据时间统计数据展示图表
    C# 中使用 JavaScriptSerializer 序列化时的时间类型处理
    jQuery 插件 autocomplete 的使用
  • 原文地址:https://www.cnblogs.com/chens2865/p/3483120.html
Copyright © 2011-2022 走看看