• 第六章 初识继承和多态


    一.继承

      1.继承概念:在C#中,如果一个类后面通过冒号又跟了另外一个类,那么我们就称冒号前面的类

         为子类,冒号后面的类为父类。这种书写类的方式放映出来的关系就称为类的继承关系。

        子类:派生类

         父类:基类或者超类

       2.继承是面向对象编程中一个非常重要的特征

       3. base关键字表示父类,可以用于访问父类的成员

       4.  public:在任何位置都可以访问,甚至是跨程序集都可以访问。

           private:只能当前类的花括号中访问。

           protected:只能在当前类,当前类的子类,子类的子类(孙子类)中可以访问。

       5.子类可以继承父类哪些成员?

        非私有的都可以(public .protected)

        6.继承的传递性

      如果一个类B继承自类A,而类C又继承类B,那么类C也可以访问到类A中非私有成员

       7.在C#中,一个类只能有一个父类,C#和Java都不支持多继承。要想使用多继承,那么请您使用接口

       二.上机练习

        1.汽车类(Truck)有VehicleRun()方法,输出" 汽车在行驶"

      //汽车
      public  class Vehicle
        {
          //型号
            private string type;

            public string Type
            {
                get { return type; }
                set { type = value; }
            }
          //产地
            private string place;

            public string Place
            {
                get { return place; }
                set { place = value; }
            }

          //构造函数
            public Truck() { }
            public Truck(string type,string place)
            {
                this.Place = place;
                this.Type = type;
            }
            public void VehicleRun()
            {
                Console.WriteLine("汽车在行驶");
            }
        }

       2.卡车类(Truk)有TruckRun()方法,输出"型号XXX,产地XXX的卡车在行驶"

    //卡车
      public  class Truck:Truck
        {
          //构造函数
          public Vehicle() { }
          public Vehicle(string type,string place):base(type,place)
          {
          }
          public void TruckRun()
          {
              Console.WriteLine("型号为{0},产地为{1}的卡车正在行驶",this.Type,this.Place);
          }
        }

    3.实例化一个卡车调用汽车和卡车的方法

       class Program
        {
            static void Main(string[] args)
            {

               //卡车对象
                Truck vh = new Truck("奥迪","德国");
                vh.VehicleRun();
                vh.TruckRun();
                Console.ReadLine();
            }
        }

  • 相关阅读:
    Flashback version/Transaction Query,FlashbackTable
    Flashback Query(函数示例)
    FlashbackQuery:SCN与timestamp示例
    Flashback Drop实例操作
    Flashback Recovery Area的设置与取消
    flashback database操作步骤
    Oracle-nomount/mount/open
    oracle开启/关闭归档模式
    Eclipse 设置代码风格
    Eclipse 打包Web项目
  • 原文地址:https://www.cnblogs.com/1998A/p/8813154.html
Copyright © 2020-2023  润新知