zoukankan      html  css  js  c++  java
  • 派生

    继承的目的:经常需要扩展现有类型来添加功能。

    定义派生类要在类标识符后添加冒号,接着添加基类名称

      public class PadItem
            {
                public string Name { get; set; }
                public DateTime LastUpdated { get; set; }
            }
            public class Contact : PadItem
            {
                public string Address { get; set; }
                public string Phone { get; set; }
            }

    Contact中没有定义Name属性,但Contact所有实例都可以访问来自PadItem的Name属性,且从Contact派生的所有类都会继承PadItem(或PadItem的父类)。该继承链无限制,每个派生类都拥有由其所有基类公开的所有成员。

    1、基类型和派生类型之间的转换

    可以将派生类型的值赋给基类型的变量,反之则不成立。所以从基类转换为派生类需要显式转换。

     PadItem p = new Contact();

     2、private修饰符

    派生类继承除构造函数和析构器外的所有基类,但继承不一定意味着可以访问。根据封装原则,派生类不能访问基类的private成员

    3、protected修饰符

    用protected修饰的成员只可以在派生类中访问。另外,要从派生类中访问受保护成员,必须能在编译时确定它是派生类(或其某子类)中的实例

    4、单继承

    C#是单继承语言,即一个类不能从两个类中派生。

    5、密封类

    用sealed修饰类禁止其派生

  • 相关阅读:
    (critical) chassis-frontend.c:122: Failed to get log directory, please set by --log-path
    Zabbix MySQL percona 模板部署
    shell编程
    pt-online-schema-change
    Haproxy + Keepalived +PXC 常见错误
    c/c++获取系统时间函数
    《C++ Concurrency in Action》
    C++多线程学习资料参考
    C++11多线程教学
    软件学习网站
  • 原文地址:https://www.cnblogs.com/TheLin/p/14398014.html
Copyright © 2011-2022 走看看