Inheritance Chapter 07
ความรู้เบื้องต้น Inheritance Java inheritance หมายถึงความสามารถที่คลาสๆหนึ่งสามารถรับสืบทอดสมาชิกจากอีกคลาสหนึ่ง โดยโดยใช้คีย์เวิร์ด extend คลาสที่รับการสืบทอดเรียกว่า subclass ส่วนคลาสที่ถ่ายทอดสมาชิดเรียกว่า superclass มีคำที่บ่งบอกถึงลักษณะการสืบทอดอีก 2 คำได้แก่ specialization และ generalization ประโยชน์ของการสืบทอดคือการนำคำสั่งกลับมาใช้ใหม่ (code reuse) เราสามารถทำ override method ให้กับ subclass ได้ Subclass จะรับถ่ายทอดเฉพาะสมาชิกที่เป็น public หรือ protected ของ superclass เท่านั้น Subclass ไม่สามารถรับถ่ายทอด constructor ของ superclass แต่จะต้องเรียก constructor ของ superclass ให้ทำงานก่อน จาวาสนับสนุนการถ่ายทอดจาก superclass อันเดียวเท่านั้น
การประกาศ Inheritance
การ casting ระหว่าง subclass และ superclass OK Not OK
Overriding Methods เราสามารถเขียนเปลี่ยนคำสั่งภายในเมธอดของ superclass ณ.ที่ subclass ได้ เรียกเมธอดนั้นว่า overrided method
@override Annotation เพื่อป้องกันไม่ให้ method ใน superclass แก้ไข signature โดย method ใน subclass ไม่รู้ตัว
การเรียก Superclass Methods ถ้าต้องการเรียก method ใน superclass ที่ถูก override เรียกดังนี้
คำสั่ง instanceof ใช้ตรวจสอบว่า object หนึ่งมากจากคลาสที่สนใจหรือไม่ true true true False
Fields and Inheritance
Constructors and Inheritance
Nested Classes and Inheritance
Final Classes and Inheritance Final class cannot be inheritnace