zoukankan      html  css  js  c++  java
  • 《C# 设计模式》笔记: 第5章 继承

      今天有点郁闷.不怎么想说话,不怎么想做事,上CFAN回了几个帖子,发现大家都睡觉了,觉得没劲.又看起了C#设计模式.....


    第一部分  C#面向对象程序设计

    5 继承

     

    5.1 构造函数

           在创建自己的类时,应当创建构造函数去做初始化工作,可以把参数传到类中,将类中的数据初始化为指定值。

     

    5.3 使用继承

           C#中,使用继承能够从现有的类派生出新类。在新的派生类里,只需要给出新的方法或修改了的方法,其它方法由被继承的基类自动提供。

     

    5.7 virtualoverride关键字

           如果基类中有一个方法,而想在派生类中覆盖它,应该把基类中的方法声明为virtual,它的含义是,让派生类里具有同样名字和参数标识的方法被调用,而不是调用基类中的方法。然后,在派生类中必须用override关键字声明该方法。

     

    5.9 使用new 替换方法

           当不能把基类方法声明为virtual时,另一种取代基类中方法的方式是在派生类中声明方法时使用new关键字。这样做能有效地隐藏基类中同一名字(与参数无关)的方法。在这种情况下,不能在派生类调用基类中的同名方法,而且必须把所有的代码都放在替换方法中。

     

    5.11 接口

           接口是一个声明,它规定了一个类要包含的带有指定参数的一系列专门方法。

           接口声明公有的签名,但不包含方法主体。

     

    5.12 抽象类

           抽象类声明了一个或多个没有实现的方法。如果把一个方法声明为抽象的,也要把类声明为抽象的。

           关键字:abstract

     

    5.13 接口和抽象类的比较

           创建一个接口就是创建了一个或多个方法的定义,在每个实现该接口的类中必须实现这些方法。系统不会生成任何默认的方法代码,必须自己完成实现过程。接口的优点是它提供了一种让一个类成为两个类的子类的方式:一个是继承,一个来自子接口,如果实现该接口的类漏掉了一个接口方法,编译器会产生错误。

           创建一个抽象类就是创建了这样一个基类,它可能有一个或多个完整的、可以工作的方法,但至少有一个方法未实现并声明为抽象的。不能实例化一个抽象类,而必须从它派生出类,这些类包含了抽象方法的实现过程。如果一个抽象类的所有方法在基类中都未实现,它在本质上就等同于一个接口,但限制条件是,一个类不能从它继承,也不能继承其它类层次结构,而使用接口则可以这样做。抽象类的作用是对派生类如何工作提供一个基类定义,允许程序员在不同的派生类中填充这些实现过程。

           另一种相关方式是创建带空方法的基类,这些空方法可以保证所有的派生类都能够编译,但是每个事件的默认操作是根本什么都不做。

  • 相关阅读:
    好尚不可为,其况恶乎(转)
    getResource(String name)用法及源码分析
    怎样从ext3升级到ext4?
    Java设计模式之适配器模式(Adapter Pattern)
    javascript实现图片无缝滚动(scrollLeft的使用方法介绍)
    PowerDesigner使用教程
    python 多线程编程
    java中接口的定义与实现
    Java调用cmd命令 打开一个站点
    C#中MessageBox使用方法大全(附效果图)
  • 原文地址:https://www.cnblogs.com/yyw84/p/278194.html
Copyright © 2011-2022 走看看