zoukankan      html  css  js  c++  java
  • 子类通过父类的构造函数为自己的属性字段赋值

    1.当写好一个类以后,默认会存在一个没有参数的构造函数(即便我们不写构造函数,也会存在这么一个无参的构造函数)

    2. 当手动添加一个构造函数以后,会将默认的无参数的构造函数覆盖掉。 

    3.类的构造函数是不能被继承的。只能在子类中去调用父类的构造函数。 

    4.当父类的构造函数有参数时,子类实例化时,要首先实例化父类(实例化完毕后才会实例化自己的属性),这个时候有错(子类无参数,父类有参数的问题)

    //当写好一个子类以后,会有一个默认的无参数的构造函数

    //子类继承父类后。父类的构造函数是不能被继承的

    //但是,子类也会有自己的构造函数,并且,子类的构造函数会默认调用父类的无参数的构造函数

    //此时如果父类中没有无参数的构造函数,会报错

    //改造方法

    //改造方法2:在父类中增加一个无参数的就OK了   示例:   

     class Father
    
        {
    
            public string lastName { get; set; }//定¨义?姓?氏?
    
            private  decimal property;//定¨义?工¤资哩?
    
            public decimal Property
    
            {
    
                get
    
                {
    
                    return property;
    
                }
    
                set
    
                {
    
                    property = value;
    
                }
    
     
    
            }
    
            public string bloodType { get; set; }//定¨义?血a型í
    
            public Father()
    
            {
    
            }
    
     
    
            public Father(string name,decimal pro,string blood)
    
            {
    
     
    
                lastName = name;
    
                Property = pro;
    
                bloodType = blood; 
    
            }
    
     
    
     
    
        }
    
    子类
    
    using System;
    
    using System.Collections.Generic;
    
    using System.Linq;
    
    using System.Text;
    
     
    
    namespace yuxi
    
    {
    
        class Son : Father
    
        {
    
            //public Son(string name, decimal pro, string blood)
    
            //{
    
            //    base.lastName=name;
    
            //    base.Property = pro;
    
            //    base.bloodType = blood;
    
     
    
            //}
    
            //也可以这样下。效果同上注释:
    
            public Son(string name, decimal pro, string blood)
    
                : base(name, pro, blood)
    
            { }
    
            public void PlayGame()
    
            {
    
                Console.WriteLine(" my name is{0},my property is{1},my bloodtype is {2},I am a boy , I play games !", lastName,Property,bloodType);
    
            }
    
     
    
        }
    
    }

  • 相关阅读:
    day09 小练习 斐波那契数列 文件
    day09三目运算
    day08文件操作
    Nginx 内容缓存及常见参数配置
    阿里开源分布式事务解决方案 Fescar 全解析
    为什么你学不会递归?刷题几个月,告别递归,谈谈我的经验
    JavaScript 复杂判断的更优雅写法
    Java 线程本地 ThreadLocal 的分析和总结
    总结异步编程的六种方式
    JAVA8新特性(吐血整理)
  • 原文地址:https://www.cnblogs.com/shanranlei/p/3629915.html
Copyright © 2011-2022 走看看