您的位置:首页 > 其它

自己做个菜? 面向对象的核心: 多态(动态绑定)

2014-10-01 16:01 183 查看
写程序的道理就和做其他任何事是一样的, 比如炒个菜, 或者用洛阳铲来考古探方. 下面用其中任何一种事情来进行多态性的实现方法吧:

炒菜(实现多态):

1. 原料: 父类一个, 子类一个或多个

父类里面准备虚函数一个或多个.

子类里面准备相应的虚函数的实现一个或多个.

父类的指针一个.

子类对象一个或多个.

2. 烹调过程:

a. 先创建一个父类: class Person, 里面声明虚函数: virtual void study();

创建一个子类: class Student, 里面声明函数: void study();

创建一个子类: class Teacher, 声明函数: void study();

实现函数:

Student::void study() { cout << " 学生们听老师讲课来学习c++ " << endl; };

Teacher::void study(){ cout << " 老师们翻阅学习资料学习c++ " << endl; };

b. main()函数中:

首先, 创建一个父类的指针:

Person *person;

其次, 创建子类的对象:

Student stu = new Student;

Teacher teac = new Teacher;

实现多态: 用父类指针指向各个子类, 然后通过这一个指针, 执行相同名字的不同实现:

person = &stu;

person->study(); // 学生们听老师讲课来学习c++

person = &teac;

person->study(); // 老师们翻阅学习资料学习c++

我现在是前敌总指挥员, 现命令各纵队司令发起最后总攻, 我虽然只发布了同一个命令, 就是进攻, 但是各个纵队和军团进行攻击的方式将各不相同, 这就是面向对象编程思想中的多态.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: