zoukankan      html  css  js  c++  java
  • C# 面向对象的base的使用

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplicationTest
    {
        class Program
        {
            static void Main(string[] args)
            {
            }
        }
    
        public class Person 
        {
            public string Name { get; set; }
    
            public int Age { get; set; }
    
            //父类构造函数
            public Person(string name,int age)
            {
                this.Name = name;
                this.Age = age;
            }
        
        }
    
        public class Student:Person
        
        {
            public int Id { get; set; }
    
    
            //子类构造函数
            //关键字base的使用:调用父类的构造函数
            public Student(string name,int age,int id):base(name,age)
            {
                this.Id = id;
            }
        }
    }

    ps:子类有没有继承父类的构造函数???

    子类并没有继承父类的构造函数,但是,子类会默认的调用父类的无参的构造函数,

    创建父类的对象,让子类可以调用父类的成员。

    所以,如果父类中重新写了一个有参数的构造函数之后,那个无参数的就被干掉了,

    子类就调用不到了,所以子类会报错。

    解决方法:

    1)在父类中重新写一个无参数的构造函数

    2)在子类中的显示的调用父类的构造函数,使用关键字:base();

  • 相关阅读:
    [MySql]insert...select 8/10
    秀出Administrator帳戶6/27
    Love
    讀取Gridview的隱藏欄8/22
    水晶報表公式換行8/2
    MySql.Data.MySqlClient.MySqlException 7/9
    mysql的錯誤日誌爆满7/24
    从汇编看c++中的const常量
    可见性和生命期的区别
    比较烦
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/4057920.html
Copyright © 2011-2022 走看看