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已经彻底理解了。
  • 相关阅读:
    Forms Authentication Against An XML File
    ADO.NET 2.0 中的新增 DataSet 功能
    转一篇:是什么导致了业务人员和技术人员的矛盾?
    谁说雨中登泰山别有一番风味的????
    缓存用户控件输出的多个版本
    Creating Collection Classes in C#
    Why Create a DataSet, use a DataTable
    Adding Relationships to DataTables
    读取手机联系人和SIM卡联系人
    Android移动动画的参数
  • 原文地址:https://www.cnblogs.com/ssxm831/p/3574530.html
Copyright © 2011-2022 走看看