งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

การสืบทอด (Inheritance). ความหมายของ Inheritance  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่มีอยู่ แล้ว โดยคลาสใหม่จะนำ แอตทริบิวต์และเมธอด ของคลาสเดิมมาใช้

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "การสืบทอด (Inheritance). ความหมายของ Inheritance  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่มีอยู่ แล้ว โดยคลาสใหม่จะนำ แอตทริบิวต์และเมธอด ของคลาสเดิมมาใช้"— ใบสำเนางานนำเสนอ:

1 การสืบทอด (Inheritance)

2 ความหมายของ Inheritance  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่มีอยู่ แล้ว โดยคลาสใหม่จะนำ แอตทริบิวต์และเมธอด ของคลาสเดิมมาใช้  เรียกคลาสที่ถ่ายทอดคุณสมบัติของคลาสว่า คลาส แม่ (Super Class)  เรียกคลาสที่ได้รับการถ่ายทอดคุณสมบัติของคลาส ว่า คลาสลูก (Sub Class)

3 ความหมายของ Inheritance ( ต่อ )

4 สิ่งที่ควรรู้เกี่ยวกับการ Inheritance  Super Class  Sub Class  Final Class  Override method

5 คลาสแม่ (Super Class)  เป็นคลาสที่ถูกใช้เป็นต้นแบบของแอตทริบิวต์และ เมธอด  บางครั้งเรียกว่า parent-class หรือ base-class  อนุญาตให้คลาสอื่นสืบทอดแอตทริบิวต์และเมธอด ได้ทั้งหมด ยกเว้น  แอตทริบิวต์ที่มีระดับการเข้าถึงเป็น private  เมธอดที่เป็น Constructor  ระดับการเข้าถึงแอตทริบิวต์และเมธอดของคลาสแม่ ต้องกำหนดเป็น protected

6 คลาสลูก (Sub Class)  เป็นคลาสที่สืบทอดแอตทริบิวต์และเมธอด จาก คลาสแม่  สามารถเรียกใช้แอตทริบิวต์และเมธอดที่สืบทอดมาจาก คลาสแม่ได้  สามารถมีแอตทริบิวต์และเมธอดเพิ่มเติมได้  การระบุหรือกำหนดความสัมพันธ์ให้คลาสเป็นคลาส ลูกต้องใช้คีย์เวิร์ด extends  รูปแบบการสร้าง class ชื่อ Sub Class extends ชื่อ Super Class { …….. }

7 สัตว์ต่างๆ  คลาสแมว  แอตทริบิวต์ ได้แก่ อายุ และ ความหิว  เมธอด ได้แก่ กิน () และ นอน ()  คลาสปลา  แอตทริบิวต์ ได้แก่ อายุ ความหิว และชื่อ ( เช่น ปลานี โม )  เมธอด ได้แก่ กิน () และ นอน ()  คลาสลิง  แอตทริบิวต์ ได้แก่ อายุ และ ความหิว  เมธอดได้แก่ กิน () นอน () และเก็บลูกมะพร้าว ()

8 แอตทริบิวท์และเมธอดที่คล้ายกัน

9 ตัวอย่างการสืบทอด  ตัวอย่าง class แมว extends สัตว์ { } class ปลา extends สัตว์ { } class ลิง extends สัตว์ { }

10 ตัวอย่าง Super Class และ Sub Class  class A : parent class/base class/super class  class B : child class/extended class/sub class class A { void printA() { System.out.println( ‘ A ’ ); } class B extends A { void printB() { System.out.println( ‘ B ’ ); } class A { void printA() { System.out.println( ‘ A ’ ); } class B extends A { void printB() { System.out.println( ‘ B ’ ); }

11 ตัวอย่าง Super Class และ Sub Class ( ต่อ )  การเรียกใช้งาน class InheritTest1 { public static void main(String args[]) { A x = new A(); x.printA(); B y = new B(); y.printA(); y.printB(); } class InheritTest1 { public static void main(String args[]) { A x = new A(); x.printA(); B y = new B(); y.printA(); y.printB(); } Output???

12 ตัวอย่าง 2 class AA { int x = 1;} class BB extends AA { int y = 2; } class Inherit2 { public static void main(String args[]) { AA a = new AA(); System.out.println(a.x); BB b = new BB(); System.out.println(b.x + "," + b.y); b.x--; System.out.println(a.x); System.out.println(b.x); a = b; System.out.println(a.x); System.out.println(b.x); } class AA { int x = 1;} class BB extends AA { int y = 2; } class Inherit2 { public static void main(String args[]) { AA a = new AA(); System.out.println(a.x); BB b = new BB(); System.out.println(b.x + "," + b.y); b.x--; System.out.println(a.x); System.out.println(b.x); a = b; System.out.println(a.x); System.out.println(b.x); } Output???

13 Overriding Method  เป็นการแก้ไขเมธอดที่สืบทอดมาจากคลาสแม่  คลาสลูกต้องมีชื่อเมธอด ค่าที่ส่งกลับออกจากเมธ อด ค่าอาร์กิวเมนต์เหมือนคลาสแม่  แต่ปรับปรุงการทำงานการทำงานภายในที่ไม่ เหมือนกับคลาสแม่

14 Final Class  Final เป็นคีย์เวิร์ดที่ใช้นำหน้าตัวแปร เมธอด และ คลาส ซึ่งจะทำให้มีคึณสมบัติดังดังนี้  ทำให้ตัวแปรเป็นค่าคงที่ ไม่สามารถเปลี่ยนแปลงค่าได้  ทำให้เมธอดไม่สามารถ Override ได้

15 ทดสอบการสืบทอดคุณสมบัติ

16 สร้างคลาสแม่

17 สร้างคลาสลูก 1

18 สร้างคลาสลูก 2

19 ทดสอบการทำงาน


ดาวน์โหลด ppt การสืบทอด (Inheritance). ความหมายของ Inheritance  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่มีอยู่ แล้ว โดยคลาสใหม่จะนำ แอตทริบิวต์และเมธอด ของคลาสเดิมมาใช้

งานนำเสนอที่คล้ายกัน


Ads by Google