zoukankan      html  css  js  c++  java
  • 《C#入门经典》第六版 学习笔记之第十章 定义类成员(1) 10.3 接口的实现~10.5 部分类方法定义

    10.3 接口的实现
    1、如何定义和实现接口?
    interface I<InterfaceName>
    {
        //interface members.
    }
    2、接口成员的定义与类成员的定义相似,但有个重要区别:
    1)不允许使用访问修饰符(public,private,protected或internal),所有接口都隐式的是公共的。
    2)接口成员不包含方法体。
    3)接口不能定义字段成员。
    4)不能用关键字static、virtual、abstract、sealed来定义接口成员。
    5)类型定义成员是禁止的。

    3、如果要隐藏从基接口中继承的成员,可以用关键字new来声明他们。其方式与隐藏继承的类成员一样。
    4、在接口中定义属性可以定义访问块的哪一个或两个都用于该属性。
    5、接口没有指定应如何存储属性数据。接口不能指定字段,例如用于存储属性数据的字段。最后,接口与类一样,可以定义为类的成员(但不能定义为其他接口的成员,因为接口不能包含类型定义 2(5)有说明)

    在类中实现接口
    1、可以使用关键字virtual或者abstract来实现接口,但不能用static或const。
    2、还可以在基类上实现接口。继承一个实现给定接口的基类,就以为着派生类隐式的支持这个接口。
    在基类中把接口的实现代码定义为虚拟,派生类就可以替换该实现代码,而不是隐藏他们。如果要使用new关键字隐藏一个基类成员而不是重写他,则被隐藏的该方法在使用时总是引用基类版本(派生类隐藏了,当然没有了),即便通过这个接口来访问派生类。

    在类中实现接口:显式实现接口成员
    也可以由类显示的实现接口成员。如果这样做,就只能通过接口来访问该成员,不能通过类来访问。
    显式实现接口成员就是要在成员名前加上接口名及“.”。即 <接口名>.<成员名>()

    在类中实现接口:其他属性存储器


    10.4 部分类定义
    代码的分组和部分类定义的区别
    代码的分组:
    #region
    #endregion

    部分类定义:
    1、使用部分类定义,就是把类的定义放在多个文件中。例如,将字段、属性和构造函数放在一个文件中,把方法放在另一个文件中。此时,只需要在包含部分类型以的每个文件中对类使用partial关键字即可。
    2、如果使用部分类定义,partial关键字就必须出现在包含部分类定义的每个文件的与此相同的位置。
    3、应用与部分类的接口也应用于整个类。
    4、部分类定义可以在一个或多个部分类定义文件中包含基类。如果基类在多个定义文件中被指定,他必须是同一个基类。因为在c#中类只能继承一个基类。

    10.5 部分类方法定义
    部分类也可以定义部分方法。部分方法在一个部分类中定义(没有方法体),在另一个部分类中实现。这两个部分类中,都需要使用partial关键字。
    部分方法的重要想主要体现在编译代码时,而不是使用代码时。它可以提高性能。
    若代码包含一个没有实现代码的部分方法,编译器就会完全删除该方法及对该方法的所有调用。执行代码时,就不会再检查这个实现代码是否存在。

    考虑一下,为什么部分方法不能有返回值?
    如果能回答这个问题,说明10.5已经彻底理解了。
  • 相关阅读:
    ABAP接口用法
    监听textarea数值变化
    The first step in solving any problem is recognizing there is one.
    Wrinkles should merely indicate where smiles have been.
    God made relatives.Thank God we can choose our friends.
    Home is where your heart is
    ABAP跳转屏幕
    Python 工具包 werkzeug 初探
    atom通过remote ftp同步本地文件到远程主机的方法
    Mongodb学习笔记一
  • 原文地址:https://www.cnblogs.com/ssxm831/p/3574530.html
Copyright © 2011-2022 走看看