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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างโปรแกรมภาษา JAVA
Advertisements

Suphot Sawattiwong Array ใน C# Suphot Sawattiwong
The InetAddress Class.
การจัดการความผิดพลาด
Inheritance.
05_3_Constructor.
การเขียนโปรแกรมภาษาจาวาตอนที่ ๓
ครั้งที่ 7 Composition.
หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์
Selected Topics in IT (Java)
Network programming Asst. Prof. Dr. Choopan Rattanapoka
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 3 Class and Object (1) การสร้างและการใช้งานคลาส
คลาสและวัตถุ (2) (Class & Object)
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
คลาสและวัตถุ (3) (Class & Object)
คลาสและวัตถุ (2) (Class & Object)
คลาสและวัตถุ (4) (Class & Object)
บทที่ 4 Method (2).
คลาสและวัตถุ (3) (Class & Object). w5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 24, 25 as5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 23 2.
คลาสและวัตถุ (4) (Class & Object)
บทที่ 4 Method (1).
การสืบทอดคุณสมบัติ (Inheritance)
Generalization & Specialization
Lecture 9 Class (คลาส) To do: Hand back assignments
Inheritance การสืบทอดคลาส
String Class มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
อาร์เรย์ หรือแถวลำดับ (Array)
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 มิถุนายน 2550 Method of Class มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 22 มิถุนายน 2550 ความผิดพลาดที่พบ บ่อย มหาวิทยาลัยเนชั่น.
บทที่ 8 อาร์เรย์.
บทที่ 6 เมธอด.
ทำงานกับ File และStream
JAVA PROGRAMMING PART IV.
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
Object Oriented Programming Handling Exceptions
Method of Class อ.สุพจน์ สิงหัษฐิต
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
Lec03 :: หลักการเชิงออปเจ็ค (Object Oriented Concept)
Lec05 :: การสืบทอด (inheritance)
Object-Oriented Programming
บทที่ 3 Class and Object (2).
คำสั่งรับค่าและฟังก์ชันทางคณิตศาสตร์
บทที่ 2 การแสดงผลและรับข้อมูล
Java collection framework
Java Programming Java Structure and Datatype,Variable
สายอักขระ เขียนโปรแกรม Java เบื้องต้น.
Object Oriented Programming : OOP
การสืบทอด (inheritance)
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
TECH30201 Object-Oriented Programming
Class. ทบทวน Object ประกอบด้วย ชื่อ Attributes -> คุณลักษณะ Methods -> การกระทำ ให้ลองเขียน Object โดยใช้รูปแบบดังนี้ ชื่อ Attributes Methods.
Inheritance และ Encapsulation.  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่ มีอยู่แล้ว  คลาสใหม่จะนำแอตทริบิวต์และเมธอดของ คลาสเดิมมาใช้  เป็นการถ่ายทอดคุณสมบัติจากคลาสหนึ่งสู่อีก.
Object-Oriented Programming
เครื่องมือที่ใช้ JUnit4.8.1 on Eclipse SDK3.5.2 ขึ้นไป
คอนสตรัคเตอร์ (Constructor)
การจัดการกับความผิดปกติ
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
เริ่มต้นเขียนโปรแกรมภาษาจา วา (Introduction to JAVA Programming)
1 Inheritance อุทัย เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
Chapter 6 Abstract Class and Interface
บทที่ 3 การสืบทอด (Inheritance)
Inheritance and Method Overriding
Inheritance and Encapsulation
Inheritance Chapter 07.
Class Inheritance and Interfaces.
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

ตัวอย่าง 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’);

ตัวอย่าง 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(); } Output???

ตัวอย่าง 2 Output??? 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(b.x); a = b; } Output???

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

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

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

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

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

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

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