打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
V5.5类的继承

using System;

using System.Collections.Generic;

using System.Text;

using Mynamespace;

namespace V5._类的继承

{

    class Program

    {

        // 继承父类MyTestClass 的属性及方法--------------------------------------------------------------------------------

        class MyClass:MyTestClass {   //1.单跟性  2.传递性

            //构造函数

            ////2)使用关键字 base() 

            //public MyClass(string _name ,string _department,int _salaTarget) {

            //    this.Name = _name;

            //    this.Department = _department;

            //    this.SalaTarget = _salaTarget;

            //}

            //public MyClass(int salaTarget)

            //    : base(name, department)

            //{

            //    this.SalaTarget = salaTarget;

            //}

            private int _salaTarget;

            public int SalaTarget

            {

                get { return _salaTarget; }

                set { _salaTarget = value; }

            }

            //3.派生类定义域基类同名的成员,则覆盖基类的成员;

            private string _name;

            //new 关键字可以用来隐藏基类同名的成员

            public new string Name

            {

                get { return _name; }

                set { _name = value; }

            }

            public void SSayHellow()

            {

                Console.WriteLine("子类:大家好,我是{0}的{1},我的销售目标是{2}", this.Department, this.Name, this.SalaTarget);

            }

        }

        // 继承父类MyClass 的属性及方法-----------------------------------------------------------------------------------

        class My:MyClass {

            private double _satisfactionRate;

            public double SatisfactionRate

            {

                get { return _satisfactionRate; }

                set { _satisfactionRate = value; }

            } 

            public void SSSayHellow() {

                Console.WriteLine("子类:大家好,我是{0}的{1},我的服务满意度是{2}", this.Department, this.Name, this.SatisfactionRate); 

            }

        }

        //------------------------------------------------------------------------------------------------------------------

        static void Main(string[] args)

        {

            //基类 

            MyTestClass zsClerk = new MyTestClass("张三","人资部");

            zsClerk.SayHellow();

            //派生类

            //如果父类有构造函数 ,子类没有构造函数,需在父类中写个无参的构造函数

            //MyClass lsClerk = new MyClass();

            //lsClerk.SSayHellow();

            Console.ReadKey();

        }

    }

}


using System;

using System.Collections.Generic;

using System.Text;

namespace Mynamespace

{

    //如果使用关键字 sealed 就不能作为一个父类  sealed  class MyTestClass

    class MyTestClass

    {

        //私有字段不能被 子类访问

        private string _name;

        public string Name {

            get { return _name; }

            set { _name = value; }

        }

        private string _department;

        public string Department {

            get  { return _department; }

            set { _department = value; }

        }

       //构造函数

       //4.派生类自然继承基类的成员,但不能继承基类的构造函数的成员,但会默认的调用基类中的无参数的构造函数

        //1)在基类中写个无参的构造函数,每个子类当中都需要再进行一次构造函数的重写与各个字段的初始化

        //2)使用关键字 base() 

        public MyTestClass(string name, string department)

            {

                this.Name = name;

                this.Department = department;

             }

        public MyTestClass() { }

        public void SayHellow() {

            Console.WriteLine("父类:大家好,我是{0}的{1}",this.Department ,this.Name  ); 

        }

    }

}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
构造函数与方法的覆盖
动态生成与编译(四)----用CodeDOM生成一个完整的类(上)
C++笔记点滴
.NET高级编程之泛型详解
如何有效地进行运算符重载
AJAX 应用 - JavaScript调用C# 函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服