zoukankan      html  css  js  c++  java
  • 《C#入门详解》刘老师 类的继承,类成员访问控制

    类的继承

    • 概念

    一、is a

    一个子类的实例也是一个父类的实例(一个汽车是一个交通工具),可以用父类类型的变量引用子类类型的实例

     Vehicle vehicle = new Car();(一个汽车是一个交通工具)

    二、什么叫继承

    子类在完整接收父类成员的前提下,对父类进行的横向扩展(成员越来越多)和纵向扩展(行为改变,版本增高,重写)

     1 /*======父类的实例构造器是不能被子类所继承的==========*/
     2 using System;
     3 using System.Collections.Generic;
     4 using System.Linq;
     5 using System.Text;
     6 using System.Threading.Tasks;
     7 
     8 namespace 类的继承_类成员访问30_35构造器
     9 {
    10     class Program
    11     {
    12         static void Main(string[] args)
    13         {
    14             Car car = new Car();
    15             Console.WriteLine(car.Owner);
    16         }
    17     }
    18 
    19     class Vehicle
    20     {
    21         public Vehicle( string owner)
    22         {
    23             this.Owner = owner ;
    24         }
    25         public string Owner { get; set; }
    26     }
    27 
    28     class Car : Vehicle
    29     {
    30         //法一 代码为  public Car():base ("N/A"){  this.Owner = "Car Owner";} 
    31 
    32         //方法一为   :base ("N/A") ,意思是当我们在调这个Vehicle构造器的时候,把"N/A"这个值传到构造器中,这就满足了Vehicle的签名
    33         public Car() : base("N/A") { this.Owner = "Car Owner"; }
    34 
    35 
    36 
    37         //法二      //方法二为  Car类型的构造器也给它添加一个参数,
    38         //public Car(string owner) :base(owner){  this.Owner =  Owner;}
    39 
    40         public Car(string owner) :base(owner){  this.Owner =  Owner;}
    41        
    42 
    43     }
    44 
    45 }
    View Code

    三、1.internal自己的程序集中

            2.protected限制在继承链上,不在继承链上其他的类无法访问。protected可以跨程序集

  • 相关阅读:
    Lua函数
    Lua 造成的代码冗余太严重了, 这个现状怎么改善?
    Lua 造成的代码冗余太严重了, 这个现状怎么改善?
    Lua 错误处理方法
    Lua 错误处理方法
    C++引用、指针的选择
    C++引用、指针的选择
    Windows 7下VS2008升级补丁
    Windows 7下VS2008升级补丁
    天龙八部服务器端共享内存的设计(3/3)
  • 原文地址:https://www.cnblogs.com/zfcsharp/p/13736319.html
Copyright © 2011-2022 走看看