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();

  • 相关阅读:
    第一阶段冲刺第七天
    第一次冲刺第六天
    第十一周学习进度条
    第一阶段冲刺第五天
    《我们应该怎样做需求分析》阅读笔记
    个人总结
    第二阶段个人总结十
    第二阶段个人总结九
    第二阶段个人总结八
    第二阶段个人总结七
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/4057920.html
Copyright © 2011-2022 走看看