面向对象: 多态(动态绑定)

本文通过炒菜和使用洛阳铲考古探方的例子,详细解释了如何实现程序中的多态性,并通过实例展示了面向对象编程思想中的多态特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写程序的道理就和做其他任何事是一样的, 比如炒个菜, 或者用洛阳铲来考古探方. 下面用其中任何一种事情来进行多态性的实现方法吧:
        炒菜(实现多态):
        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++
                                    
                             
        我现在是前敌总指挥员, 现命令各纵队司令发起最后总攻, 我虽然只发布了同一个命令, 就是进攻, 但是各个纵队和军团进行攻击的方式将各不相同, 这就是面向对象编程思想中的多态.           

 

 

 

                          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值