A.4-继承,方法重写(覆盖)(override),虚函数(virtaul)和多态,抽象方法和抽象类abstract,密封类(sealed)和密封方法,常量的定义(const)

简介:
ylbtech- .NET-Basic: A.4-继承,方法重写(覆盖)(override),虚函数(virtaul)和多态,抽象方法和抽象类abstract,密封类(sealed)和密封方法,常量的定义(const)

 A.4-继承,方法重写(覆盖)(override),虚函数(virtaul)和多态,抽象方法和抽象类abstract,密封类(sealed)和密封方法,常量的定义(const)

1.A,运行效果图返回顶部
 
三、继承

1、继承的语法实现:
class 子类名 : 基类名{}

2、子类构造方法的实现,及base关键字的使用; ---super
1)通过base子类可以访问基类的成员, 
2)在子类的构造方法中可以通过 base来访问基类的构造方法:
public 子类构造(参数列表) : base(参数列表)
{

}

3、方法的重写(覆盖)
public 返回值类型 方法名(); //会出现警告的
OR
new public 返回值类型 方法名();

如果,new 后面的方法声明,不构成对父类方法的覆盖,不会报错, 但会有警告


总结:
override:如果被重写方法时virtual,abstract
new,除此以外,重写都可以用new ,或者不写


4、虚函数virtual和多态的实现;
虚函数(virtual):主要目的就是为了让子类重写,这样的方法可以有方法体
abstract

子类的重写格式 : 
override 返回类型 方法名()
5、抽象方法和抽象类abstract
抽象方法和虚方法的区别;

6、密封类和密封方法sealed --类似java中的 final
密封的方法不能被重写,
密封的类不能被继承

sealed针对的时子类,以及子类重写的方法

7、常量的定义:
语法:
public const 类型 常量名称 = 值; //常量一定是全局的因此不能使用 
static ,加了算错

 

任务:
1、实现以下类的定义
1)定义一个人类封装以下成员
成员变量(编号,姓名,年龄)
成员方法(空/全参构造,show)
属性
2)定义一个学生类继承人类
成员变量(班级)
成员方法(空/全参构造,show)
属性
3)定义一个教师类继承人类
成员变量(专业)
成员方法(空/全参构造,show)
属性
4)Program测试类,测试学生类,和教师类的所有方法;

2、实现以下类的定义,
1)定义一个动物类封装以下成员
成员变量(名称)
成员方法(空/全参构造,吃、show(虚方法))
属性
2)定义一个猫类继承动物类
成员变量(颜色)
成员方法(空/全参构造,重写吃、show)
属性
3)定义一个鱼类继承动物类
成员变量(重量)
成员方法(空/全参构造,重写吃、show)
属性
4)Program测试类,用动物类的引用来测试猫类、鱼类对象的所有方法;

3、实现以下类的定义,
1)定义一个形状类封装以下成员
成员变量(常量:圆周率)
成员方法(抽象的求面积、求周长)

2)定义一个圆形类继承形状类
成员变量(半径)
成员方法(空/全参构造,以及其他必须实现的方法)
属性
3)定义一个长方形类继承形状类
成员变量(长,宽)
成员方法(空/全参构造,以及其他必须实现的方法)
属性
4)Program测试类,测试圆形类和长方形类;

4、将上一题中的圆形类中的面积,周长的方法设着成为密封的,然后创建该类的子类测试 
该方法是否能被重写;将长方形类设置成为密封得,测试这个类是否能被继承;


本文转自ylbtech博客园博客,原文链接:http://www.cnblogs.com/ylbtech/archive/2013/03/25/2980825.html,如需转载请自行联系原作者

相关文章
|
1月前
|
安全 C#
C Sealed关键字:保护你的类不被继承
C Sealed关键字:保护你的类不被继承
11 0
|
4月前
10 # 类:继承和成员修饰符
10 # 类:继承和成员修饰符
25 0
|
7月前
|
C#
C# 继承类中(父类与子类)构造函数的调用顺序
C# 继承类中(父类与子类)构造函数的调用顺序
|
5月前
|
Java
【继承之extends关键字和super关键字】
【继承之extends关键字和super关键字】
39 0
|
7月前
|
C#
C#中抽象方法与虚方法的区别
C#中抽象方法与虚方法的区别
【C++要笑着学】多态 | 重写(覆盖) | 协变构多态 | 父虚子非虚也构多态 | final与override关键字(C++11) | 抽象类 | 纯虚函数 | 抽象类指针
本章我们继续讲解面向对象三大特性,上一章我们讲解了继承,本章我们讲解多态。从多态的概念一步步讲解,介绍构成多态的必要条件和两个例外。还会顺带讲解一下 C++11 更新的两个和多态有关系的关键字 final 和 override。上一章我们讲解了虚函数,本章会先补充纯虚函数的概念,然后再引入抽象类的概念。本章我们只学习C++多态的基础知识,至于多态的原理(VTBL、决议等)的难度相对较大,我们单独放到下一章去做专门讲解。
202 0
【C++要笑着学】多态 | 重写(覆盖) | 协变构多态 | 父虚子非虚也构多态 | final与override关键字(C++11) | 抽象类 | 纯虚函数 | 抽象类指针
|
前端开发 开发者
class-子类访问父类上的实例方法|学习笔记
快速学习 class-子类访问父类上的实例方法
80 0
|
Java C++
C++继承与派生解析(继承、重载/转换运算符、多重继承、多态、虚函数/纯虚函数、抽象类)
C++继承与派生解析(继承、重载/转换运算符、多重继承、多态、虚函数/纯虚函数、抽象类)
159 0