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

  • 相关阅读:
    最小覆盖圆算法
    hdu2202(最大三角形 )凸包
    hdu1392(凸包)
    hdu1348
    凸包模板
    凸包算法
    DataTable和List互转
    没有功能需求设计文档?对不起,拒绝开发!【分享】
    [分享]浅谈分布式数据库
    微信公众号授权,支付,退款总结【shoucang】
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/4057920.html
Copyright © 2020-2023  润新知