• 20141014C#面向对象抽象方法,抽象类,接口


    里氏代换原则。可以用子类的对象替代父类的对象。

    抽象依赖原则。依赖——形参,关联

    一、抽象方法:

    在一些父类中,某些行为不是非常明确,因此无法用代码来具体实现,但是类必须具备此方法,因此把这样的方法定义为抽象方法。abstract

    特点:1.只声明,不实现。2.加abstract关键字。

    eg:

     1 public abstract class Ren //类中含有抽象方法,此类也必须是抽象类。
     2 {
     3   public abstract void Eat(); //以分号结束,没有花括号
     4 }
     5 class Chinese:Ren
     6 { 
     7   public override void Eat()
     8   {
     9     Console.WriteLine("用筷子吃饭。");
    10   }
    11 }

    二、抽象类:

    无法被实例化的类。关键词是abstract 。凡是带有abstract关键词的类,都无法new 出来。

    凡是带有抽象方法的类,肯定是抽象类;抽象类却不一定包含抽象方法。

    构造方法、静态成员方法不能被声明为抽象方法。

    一个非抽象类必须实现从父类继承来的所有抽象方法。

    不能创建抽象类的实例。

    三、接口 interface: 极度抽象的类。无成员变量,无实例方法,无实例属性,只有抽象方法或抽象属性。接口就是一个规则。

    接口用interface关键词来定义。

    接口中的方法都是抽象的,因此无需加abstract。

    接口中的方法都是公有的,无需加访问修饰符。

    生活中的例子:标准,协议

    接口可以继承父接口

    一个类可以实现(继承)多个接口

    eg:

     1    public interface IUSB
     2     {
     3         void Start();
     4         void Stop();
     5     }
     6     public class Camera : IUSB
     7     {
     8         public void Start()
     9         {
    10             Console.WriteLine("打开摄像头了");
    11         }
    12 
    13         public void Stop()
    14         {
    15             Console.WriteLine("摄像头关闭了");
    16         }
    17     }
    18 
    19     public class UDisk : IUSB
    20     {
    21         public void Start()
    22         {
    23             Console.WriteLine("U盘启动了");
    24         }
    25 
    26         public void Stop()
    27         {
    28             Console.WriteLine("U盘退出了");
    29         }
    30     }
    31 
    32     public class Computer
    33     {
    34         public void CheckUSB(IUSB usb)
    35         {
    36             usb.Start();
    37         }
    38         public void CloseUSB(IUSB usb)
    39         {
    40             usb.Stop();
    41         }
    42     }

    命名空间:相当于一个包。对类进行分类管理的工具。

    一般的命名规则:公司名.项目名.模块名

    项目名:用给人类,标识出这个项目是做什么的

    程序集:程序编译出来的.exe或.dll文件。程序集的名字就是编译出来的EXE或dll的名字。

  • 相关阅读:
    回文串---最长回文
    回文串---Hotaru's problem
    回文串--- Girls' research
    回文串---吉哥系列故事——完美队形II
    回文串---Palindrome
    treap树---营业额统计
    treap树---Double Queue
    《程序员代码面试指南》第二章 链表问题 复制含有随机指针节点的链表
    《程序员代码面试指南》第二章 链表问题 将单链表按某值划分为左边小,中间相等,右边大的链表
    《程序员代码面试指南》第二章 链表问题 反转部分单向链表
  • 原文地址:https://www.cnblogs.com/zsmj001/p/4025366.html
Copyright © 2020-2023  润新知