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 ); } } }
|
|
来自: 时间剧毒 > 《第九章:结构、类与属性》