Professional Documents
Culture Documents
Java Programming 001
Java Programming 001
Abstraction
หรL อการมองแบบนามธรรม หมายถ(งการมองออปเจ:กตNต!างๆ แลวใส! แนวความคด
(Concept) ลงไปเพLอก;าหนด คณสมบตทส;าคญและจ;าเป: นของออปเจ:กตNนS นๆ โดย
คณสมบตทถ+กก;าหนดข(Sนจากออปเจ:กตNเดยวกนอาจจะแตกต!างกนไดตามความสนใจ
ของผ+มอง
Object และ Class
Object คLอตวแทนของบคคล สถานท หรL อสงของทเราสนใจในเหตการณNหน(ง ซ( ง
อาจจบตองไดหรL อไม!ได โดยทออปเจ:กตNจะประกอบไปดวย
Class คLอกล!มของออปเจ:กตNทมคณลกษณะ (Attribute) และพฤตกรรม (Behavior)
หรL อการกระท;า (Action) โดยทวไปเหมLอนกน
Suradet Petcharanon Java Programming 4
แนวคดแบบ Object Model Technology (OMT)
Reuse
Inheritance คLอการทคลาสหน(งคลาส หรL อหลายๆ
คลาสถ+กสรางข(Sนมาใหม!(subclass) ภายใตคลาสใดๆ (superclass) โดยจะสL บทอดคณ
ลกษณะ(Attribute) และ พฤตกรรม(Behavior) หรL อการกระท;า(Method) มาดวย ดง
นS น Subclass จะม Attribute และ Method เหมLอนกบ Superclass และยงสามารถเพม
ไดอก
Composition คLอการทคลาสหน(งสามารถเรยกใชคลาสอLนทสรางไวแลวมาใชใหม!ได
โดยคลาสทถ+กสรางไวแลวเรยกว!า Composition แต!เมLอมนถ+กเรยกโดยคลาสอLน จะ
เรยกคลาสนS นว!า Component
Polymorphism
หมายถ(ง การทออปเจ:กตNมากกว!า 1 ออปเจ:กตNสามารถตอบสนองต!อ Message เดยว
กนดวยการแสดงพฤตกรรมทแตกต!างกน เช!น สตวN ทกตวมพฤตกรรมการเคลLอนไหว
แต!มวธการทแตกต!างกน อาท ง+ เลLSอย ปลาว!ายน;Sา เป: นตน
ตวอย!าง Polymorphism
// TestPolymorphiam.java
class TestPolymorphism{
public static void main(String args[]){
Animal kapongA = new Fish();
Animal nokkaewA = new Bird();
System.out.println(“เรยก polymorphism ดวยปลา”);
runPolymorphism(kapongA);
System.out.println(“เรยก polymorphism ดวยนก”);
runPolymorphism(nokkaewA);
}
static void runPolymorphism(Animal Obj){
Obj.move()
}
}
Polymorphism
//Animal.java
interface Animal{
public void move();
} // End of Class Animal
//Fish()
class Fish implement Animal{
public void move(){
System.out.println(“ปลาว!ายน;Sา”);
} //end of method move
} //end of class Fish
ตวอย!าง Polymorphism
class Bird implement Animal{
public void move(){
System.out.println(“นกบน”);
} //end of method move
} //end of class Bird
class Snake implement Animal{
public void move(){
System.out.println(“ง+เลLSอย”);
} //end of method move
} //end of class Snake