C#中类的继承

  • 继承的概念: 继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同 时也有利于重用代码和节省开发时间。 当创建一个类时,我们不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的 类,继承了已有的类的成员即可。 这个已有的类被称为的基类,也叫父类,这个新的类被称为派生类,也叫子类。 继承的思想实现了属于(IS-A)关系。例如,哺乳动物属于(IS-A)动物,狗属于(IS-A) 哺乳动物,因此狗属于(IS-A)动物。
  • C#继承的特点:派生类是对基类的扩展,派生类可以添加新的成员,但不能移除已经继承的成员 的定义。 继承是可以传递的。如果 C 从 B 中派生,B 又从 A 中派生,那么 C 不仅继承了 B 中声明的成员,同样也继承了 A 中声明的成员。 构造函数和析构函数不能被继承,除此之外其他成员能被继承。基类中成员的访 问方式只能决定派生类能否访问它们。private protected public 派生类如果定义了与继承而来的成员同名的新成员,那么就可以覆盖已继承的成 员,但这并不是删除了这些成员,只是不能再访问这些成员。 类可以定义虚方法、虚属性及虚索引指示器,它的派生类能够重载这些成员,从 而使类可以展示出多态性。 派生类只能从一个类中继承,可以通过接口来实现多重继承。

Class person

{

Public person(){

Name = “李四”

Age =  18;

Sex = “男”

public string name;

 public int age;

 public string sex;

 public void PrintPersonInfo()

 Console.WriteLine("姓名:{0} , 性别:{1}, 年龄:{2}", name, sex, age)

}

}

class Student:Person  {  

public Student()  {

 classRoom = "403";

course = "计算机技术"; }  

//班级 11 string classRoom;

 //课程

 string course;

public void PrintStudentInfo()  

{  PrintPersonInfo();

 Console.WriteLine("班级:{0},课程:{1}", classRoom, course);  }

}  //Program.cs

 class Program {  static void Main(string[] args)

 {  Student stu = new Student();  stu.PrintStudentInfo();

 }  

}

  • C#继承关系中构造方法之间的关系 1、在实例化子类对象是,会先调用父类的构造方法,然后在调用子类的构造方法 2、默认情况下,在子类的构造器中都会自动调用父类的无参构造器 3、如果需要调用父类中带参数的构造器才使用“:base(参数)”的形式

例:

class A  

{ public A()

{  Console.WriteLine("A类的构造方法");

 }

 public A(string name)  

{  Console.WriteLine("A类的构造方法,传入的值为:" + name);

}  

}  class B :A  {  public B()  {

  Console.WriteLine("B类的构造方法");  

}

 public B(string name):base(name) //调用父类中带参数的构造器

 {

 Console.WriteLine("B类中带参数的构造方法,传入的值为:" + name);  

}

  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值