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

  • 相关阅读:
    js 时间相关函数
    javascript面向对象:继承、多态
    面向对象相关
    reset.css css重置公共样式
    开通博客园第一天。
    vue 和 react 路由跳转和传参
    前端密码加密方式
    react组件回顶部
    移动端使用rem方法
    用rekit创建react项目
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/4057920.html
Copyright © 2011-2022 走看看