zoukankan      html  css  js  c++  java
  • C#继承

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace _04OOP继承
    {
    //继承:好处:减少代码的冗余
    //子类继承了父类的属性和方法,并没有继承私有字段
    //子类并没有继承父类的构造函数,而是会去调用父类那个五参数的构造函数
    //目的:为了初始化父类,能够让子类调用到父类中的成员。

    //当你在父类中重写了有参数的构造函数之后,那个无参数的构造函数就被干掉了
    //此时,子类调不到了,解决办法:
    //1、在父类总重新写一个无参数的构造函数
    //2、在子类中显示的调用父类的构造函数 :base 减少代码冗余

    //base:1、显示的调用父类的构造函数;2、调用父类中的重名方法
    class Program
    {
    static void Main(string[] args)
    {
    /*
    * Student--派生类
    * 姓名 性别 年龄 学号 吃喝拉撒睡 学习
    * Teacher--派生类
    * 姓名 性别 年龄 工资 吃喝拉撒睡 讲课
    * Driver--派生类
    * 姓名 性别 年龄 驾龄 吃喝拉撒睡 开车
    *
    * 姓名 性别 年龄 吃喝拉撒睡 是共有的放在Person类中---基类
    *
    */
    Student s = new Student();

    }
    }
    public class Person
    {
    string _name;
    public string Name
    {
    get { return _name; }
    set { _name = value; }
    }
    int _age;
    public int Age
    {
    get { return _age; }
    set { _age = value; }
    }
    char _gender;
    public char Gender
    {
    get { return _gender; }
    set { _gender = value; }
    }
    public void CHLSS()
    {
    Console.WriteLine("人类可以吃喝拉撒睡!");
    }
    public Person(string name,int age,char gender)
    {
    this.Name = name;
    this.Age = age;
    this.Gender = gender;
    }
    public Person()
    {

    //}

    }
    public class Teacher : Person
    {
    public Teacher(string name,int age,char gender,double salary):base(name,age,gender)
    {
    this.Salary=salary;
    }
    double _salary;

    public double Salary
    {
    get { return _salary; }
    set { _salary = value; }
    }
    public void Teach()
    {
    Console.WriteLine("教师会讲课");
    }

    }
    public class Student : Person
    {
    public Student(string name,int age,char gender,int id):base(name,age,gender)
    {
    this.ID=id;
    }

    int _id;

    public int ID
    {
    get { return _id; }
    set { _id = value; }
    }
    public void Study()
    {
    Console.WriteLine("学生会学习!");
    }

    }
    public class Driver : Person
    {
    public Driver(string name,int age,char gender,int driveTime):base(name,age,gender)
    {
    this.DriverTime=driveTime;
    }
    int _driverTime;

    public int DriverTime
    {
    get { return _driverTime; }
    set { _driverTime = value; }
    }
    public void Drive()
    {
    Console.WriteLine("司机会开车");
    }
    }
    }

  • 相关阅读:
    PHP保留小数的相关方法
    ASP.NET Core MVC 之过滤器(Filter)
    ASP.NET Core MVC 之控制器(Controller)
    ASP.NET Core MVC 之视图组件(View Component)
    ASP.NET Core MVC 之局部视图(Partial Views)
    标签助手(TagHelper)
    ASP.NET Core MVC 之布局(Layout)
    ASP.NET Core MVC 之视图(Views)
    ASP.NET Core MVC 之模型(Model)
    九卷读书:淘宝从小到大的发展 -重读《淘宝技术这十年》
  • 原文地址:https://www.cnblogs.com/tsh292278/p/9023743.html
Copyright © 2011-2022 走看看