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

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

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

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


งานนำเสนอเรื่อง: "การสืบทอดคุณสมบัติ (Inheritance)"— ใบสำเนางานนำเสนอ:

1 การสืบทอดคุณสมบัติ (Inheritance)
การสร้างคลาสใหม่จากรูปแบบของคลาสเดิมที่มีอยู่แล้ว คลาสใหม่จะนำคุณสมบัติ (แอตทริบิวต์และเมธอด) ของคลาสเดิมมาใช้ได้ เพื่อประโยชน์ในการเรียกใช้สมาชิกที่อยู่ในคลาสเดิม โดยไม่จำเป็นต้องสร้างขึ้นอีกในคลาสใหม่ เรียก คลาสเดิมที่มีอยู่แล้ว ว่า “คลาสแม่” (SuperClass) เรียก คลาสใหม่ ว่า “คลาสลูก” (SubClass)

2 การสืบทอดคุณสมบัติ (Inheritance)
ตัวอย่าง

3 การสืบทอดคุณสมบัติ (Inheritance)
ตัวอย่าง

4 การสืบทอดคุณสมบัติ (Inheritance)
ตัวอย่าง

5 การสืบทอดคุณสมบัติ (Inheritance)
เริ่มต้นจากการสร้างคลาสแม่ class Car { protected String CarID, Color; protected int Speed; protected void Start() { } protected char ChangeGear() { protected void Stop() {

6 การสืบทอดคุณสมบัติ (Inheritance)
class Car { protected String CarID, Color; protected int Speed; protected void Start() { } protected char ChangeGear() { protected void Stop() { การสืบทอดคุณสมบัติ (Inheritance) ใช้คีย์เวิร์ด extends เพื่อ ระบุการสืบทอดคุณสมบัติ class Bus extends Car { int Seat; void Accelerate() { } class SportCar extends Car { String CodeName; void Accelerate() { }

7 การสืบทอดคุณสมบัติ (Inheritance)
เมื่อสร้างความสัมพันธ์ให้คลาสเป็น คลาสแม่-คลาสลูกแล้ว คลาสลูกมีคุณสมบัติดังนี้ เรียกใช้และเปลี่ยนแปลงแอตทริบิวต์และเมธอดของคลาสแม่ ตัวอย่างโปรแกรมที่ 1 แสดงแผนภาพ เปลี่ยนแปลงเมธอดของคลาสแม่ โดยนำเมธอดของคลาสแม่มาแก้ไขการทำงาน สร้างเป็นเมธอดไว้ในคลาสลูก เรียกว่า Overriding Method

8 การสืบทอดคุณสมบัติ (Inheritance)
แผนภาพตัวอย่างโปรแกรมที่ 1 employee rate:float daily_emp monthly_emp

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

10 ตัวอย่างโปรแกรมที่ 3 class shape { float calArea(float x,float y) { return 0; } class tri extends shape { return 0.5f*x*y; class rec extends shape { return x*y; public class OverridingMethod { public static void main(String[] args) { System.out.println("triangle area = " + new tri().calArea(2,2)); System.out.println("rectangle area = " + new rec().calArea(2,2)); }

11 การสืบทอดคุณสมบัติ (Inheritance)
แบบฝึกหัดข้อ 1 คลาสพนักงาน employee ประกอบด้วย พนักงาน 2 ประเภท คือ salesman และ manager คิดค่าคอมมิสชั่น จาก เปอร์เซ็นต์ค่าคอมมิสชั่น x ยอดขาย โดย salesman และ manager ได้เปอร์เซ็นต์ค่าคอมมิสชั่น เท่ากับ employee คือ 5% ยกเว้นในกรณีที่ salesman มียอดขายมากกว่า 5 แสน จะได้ เปอร์เซ็นต์ค่าคอมมิสชั่นเพิ่มเป็น 7.5% ให้คำนวณค่าคอมมิสชั่น ของ employee => รับข้อมูลยอดขาย ให้คำนวณค่าคอมมิสชั่น ของ salesman => รับข้อมูลยอดขาย ให้คำนวณค่าคอมมิสชั่น ของ manager => รับข้อมูลยอดขาย

12 การสืบทอดคุณสมบัติ (Inheritance)
แบบฝึกหัดข้อ 1 คลาสแม่ คือ employee ประกอบด้วย แอตทริบิวต์ perCom=0.05f; เมธอด calCom(float sale) คลาสลูก คือ salesman ประกอบด้วย แอตทริบิวต์ เมธอด คลาสลูก คือ manager ประกอบด้วย แสดงแผนภาพ เขียนโปรแกรม สร้างคลาส โปรแกรมหลัก


ดาวน์โหลด ppt การสืบทอดคุณสมบัติ (Inheritance)

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


Ads by Google