Day 29 Polymorphism

多型是物件导向程序设计中第三个重要的概念,他建立在继承的概念上,多型是一种型别,可以解释为具有多个不同表现形式能力的一种行为,白话的说,
是指同一种方法可以在不同的类别里有不同的实现方式 ; 多行有可复用性及可维护性,同时他也可以提高程序框冲的条件性。可复用性是指在写程序时不必要为每一个子类都建立一个相同的方法或功能,只需要对父类处理就好了。

以下有一个例子:
有两个学生,高中生跟大学生,高中生要写作业,大学生要做报告,我们用多型实作这个例子。

Step1 大家都是student 所以写student都该做的事doMyJob。
https://ithelp.ithome.com.tw/upload/images/20211011/20140456k6b9D0unSI.png

Step2 高中生跟大学生都是student因此继承父类student,并且写入个别要做的事,高中生doHomework,大学生writeReports。Override是指子类别继承父类别时,改写父类别原有的方法内容。
https://ithelp.ithome.com.tw/upload/images/20211011/20140456dV4ZTQoc2Y.png

Step3 在main方法里呼叫HighSchoolStudent及CollegeStudent的建构值,
将a设为HighSchoolStudent,b设为CollegeStudent,并且让a、b goStudy。
https://ithelp.ithome.com.tw/upload/images/20211011/20140456czd5ArWfXu.png

Step4 宣告Student为student,并让student都去doMyJob,完成多型物件导向程序设计。
https://ithelp.ithome.com.tw/upload/images/20211011/20140456a5Z6BEAAaa.png


<<:  远距工作停看听:挑战篇

>>:  Day26:终於要进去新手村了-Javascript-函式-物件-建构式

Day1 30天计画总览

今日要点 起源 介绍 起源 购入了奔跑吧linux套书,为了强迫自己每天推进一点进度,决定参与铁人赛...

【Day02-尺度】40°C为什麽不是20°C的两倍?

我们昨天提到了资料的类型,那今天就来讲一讲资料的尺度(Scale) 先厘清一下 这边所提到的尺度不是...

Day4 PHP 基本撰写概念

当解析一个档案时,PHP(Hypertext Preprocessor超文字前处理器) 会寻找起始和...

< 关於 React: 开始打地基| 父组件、子组件、兄弟姐妹组件的关系 >

09-14-2021 本章内容 子组件更新父组件的状态 设定组建间的状态 设定组建间事件处理的程序 ...

# Day 20 High Memory Handling

今天直奔新主题!XDD 昨天提要 trace 的程序码,trace 的不多,今天就还是先来看个文件,...