虚方法定义:
虚方法就是可以被子类重写的方法,如果子类重写了虚方法
,那么就运行重写后的虚方法,如果没有,则就用父类的虚方法
virtual关键用于修饰方法、属性、索引或事件生命,并允许
在派生类中重写这些现象。
例如:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 虚方法
{
class Person
{
#region 虚方法与非虚方法的不同
//虚方法
public virtual void Intrudction1()//重写虚方法
{
Console.WriteLine("这是虚方法");
Console.WriteLine("My name is kexiwang,I am 21 years old,I am from china");
}
// 非虚方法
public void Intrudction2()
{
Console.WriteLine("这是非虚方法");
Console.WriteLine("My name is kexiwang,I am 21 years old,I am from china");
}
#endregion
}
class Chinese : Person
{
}
class Americal : Person
{
public override void Intrudction1()//重写虚方法
{
Console.WriteLine("My name is tom,I am 25 years old,I am from Amrican");
}
new public void Intrudction2()
{
Console.WriteLine("My name is tom,I am 25 years old,I am from Amrican");
}
class Program
{
static void Main(string[] args)
{
Chinese ch=new Chinese();
Americal am = new Americal();
Korean ko = new Korean();
Person[] p = { ch, am, ko };
for (int i = 0; i < p.Length; i++)
{
p[i].Intrudction1();
p[i].Intrudction2();
}
Console.ReadKey();
}
}
}
class Korean : Person
{
public override void Intrudction1()
{
Console.WriteLine("My name is putaihuan,I am 29 years old,I am from korean");
}
new public void Intrudction2()
{
Console.WriteLine("My name is putaihuan,I am 29 years old,I am from korean");
}
}
}
- 大小: 23.9 KB
分享到:
相关推荐
这个实例介绍了“继承,虚函数,抽象类”的相关用法和注意事项,里面有代码和一些知识点,方便新手学习和理解这些概念,相当于书与代码的结合。
2、虚继承 这个是比较不好理解的,对于虚继承,若派生类有自己的虚函数,则它本身需要有一个虚指针,指向自己的虚表 2、一个类中,虚函数本身、成员函数(包括
类的继承、抽象类、虚方法实现,每个提供一个例子,简单易懂
而继承包含了虚拟继承和普通继承,在可见性上分为public、protected、private。可见性继承比较简单,而虚拟继承对学习c++的难度较大。 首先,虚拟继承与普通继承的区别有: 假设derived 继承自base类,那么...
从bicycle和motorcar派生出motorcycle,观察虚基类对继承的影响。 定义一个motorcycle的对象,分别调用run()和stop(),观察构造/析构函数的调用情况。 注意:构造函数和析构函数中均为cout语句,说明哪个构造/析构...
定义一个Person 类,结构如下图,为该类添加输入输出流运算符重载。Person 类以Public方式派生出一...char* title(职称),为该类添加输入输出流运算符重载,完成有参、无参、拷贝构造函数的定义,在主函数测试Teacher类
虚继承的代码说明(附注释)
1面向对象编程的基本思想;2友元类成员;3虚函数;4类类型之间的强制转换;5嵌套类 1.封装: 把对象的属性和方法结合成一个...3.多态:指在基类中定义的属性和行为被子类继承后,可以具有不同的数据类型或者表现行为等特性
C++继承,虚函数与多态性专题.C++继承,虚函数与多态性专题.
本文实例讲述了python继承和抽象类的实现方法。分享给大家供大家参考。 具体实现方法如下: 复制代码 代码如下:#!/usr/local/bin/python # Fig 9.9: fig09_09.py # Creating a class hierarchy with an abstract ...
c++多重继承与虚基类的ppt 讲细致 易懂
一个student类,lectureTeatre类,继承抽象module类,通过继承来实现接口
练习类继承,虚函数,对练习 很有帮助.
分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:①在两个基类中都包含一部分相同名字的数据成员name(姓名),age(年龄)和成员函数...
C++实例关于多继承和虚基类PPT多继承和虚基类PPT
(1)定义一个抽象类Animal,该类中可以存放动物的名字,并有一个纯虚函数Identify用于显示动物的种类和名字。将析构函数声明为虚函数。 (2)定义两个类Cat、Dog,都继承自Animal,并重载Identify函数,显示动物的...
Java中extends类的继承
在C++多继承体系当中,在派生类中可以重写不同基类中的虚函数。下面就是一个例子:
详解C++中虚继承虚函数 的要点和继承关系c++开发人员细细阅读哦
(3) 使用继承的方法构造3个类,(即雇员类——虚基类,教师类和工人类——派生类),教师教师工资由基本工资+级别工资+工龄工资+课时工资构成;工人工资由基本工资+级别工资+工龄工资+奖励工资构成 (4) 编写同名...