SlideShare a Scribd company logo
1 of 12
Class
หมายถึงโครงสร้างของ object โดย class เป็นตัวกาหนดว่า object นั้นจะ
มี data หรือคุณลักษณะอะไร บ้าง และมี method อะไรบ้าง เปรียบเสมือนพิมพ์เขียว
(template) ของอ๊อปเจ็ค
วัตถุ (Object) คือ ตัวแทนของบุคคล สถานที่ หรือสิ่งของที่สนใจใน
เหตุการณ์หนึ่ง ซึ่งอาจจับต้องได้หรือจับต้องไม่ได้
Objectเป็นองค์ประกอบสาคัญของการเขียนโปรแกรมที่สามารถรับค่า
และแสดงส่งค่าได้ และจากนิยาม Object คือตัวแทนของสิ่งของที่อยู่ในโลกของความ
เป็นจริง ซึ่งอาจเป็นสิ่งที่จับต้องได้หรือไม่ได้ จะต้องมีคุณลักษณะ (Attribute) ที่บ่งบอก
ว่าเป็น Object ของอะไร และมีพฤติกรรม (Behavior) ที่บ่งบอกให้ทราบว่าObject นั้นทา
อะไร ดังนั้น Object จะสามารถตอบสนองต่อสิ่งที่กระทาในการร้องขอสิ่งต่างๆ ได้
คุณลักษณะของการเขียนโปรแกรมเชิงวัตถุ
1) การห่อหุ้ม (Encapsulation)
หมายถึงการจะเรียกใช้คุณลักษณะของอ๊อปเจ็ค จะทาได้โดยการเรียกผ่านเมธอด
เท่านั้น
หลักการของการห่อหุ้ม คือการกาหนดให้คุณลักษณะของอ๊อปเจ็คมีคุณสมบัติ
เป็น private และกาหนดให้เมธอดมีคุณสมบัติเป็น public โดยมีเมธอดget/set ไว้เพื่อ
เข้าถึง data นั้นๆ จะเรียกว่า class นั้นๆ เป็น Full Encapsulation class
2) การสืบทอด (Inheritance)
หมายถึงการนิยามคลาสใหม่จากคลาสที่มีอยู่แล้วโดยคลาสใหม่สามารถที่จะนาคุณลักษณะและเมธอดของคลาสเดิมมาใช้ได้
คือ Class หนึ่งๆสามารถสืบทอดคุณสมบัติบางประการจาก Class อื่น แล้วเพิ่มคุณสมบัติเฉพาะของ Class นั้นเข้าไป
- Class ที่ได้รับการสืบทอดคุณสมบัติเรียกว่า Subclasses
- Class ที่เป็นต้นแบบเรียกว่า Superclass
เป็นการช่วยให้ไม่ต้องพัฒนา ส่วนที่ซ้าหลายๆรอบ (Reusable)
Class หนึ่งๆจะมี Superclass ได้เพียง Class เดียวเท่านั้น (Single Inheritance)
ในภาษาจาวา จะใช้คีย์เวิร์ด extends เพื่อระบุการสืบทอด
3) การมีได้หลายรูปแบบ (Polymorphism)
หมายถึง การที่สามารถตอบสนองต่อข่าวสาร (เมธอด) เดียวกันด้วยวิธีการที่ต่างกัน และสามารถกาหนดออปเจ็คได้หลาย
รูปแบบ
- Overriddenmethod
- Dynamic Binding
• ตัวอย่างที่เน้นโปรแกรมแบบ OOP
1) Object แรกของ class มักชื่อ main โปรแกรมนี้สั้น
และง่ายที่สุด
>> สร้างกล่อง 1 กล่องในกล่องมี object ทางาน
พิมพ์x เพียงอักษรเดียว
>> มองว่า class ก็คือกล่อง แต่ละกล่องคือที่เก็บ object
class x {
public static void main(String args[]) {
System.out.println("x");
}
}
2) การเรียก object ใน class เดียวกัน โดยมองว่า class เสมือนกล่องเก็บobject มากมาย
>> สร้างกล่อง 1 กล่องในกล่องมี 2 object และ object 1 เรียก object 2 มาทางาน
class x {
public static void main(String args[]) {
int i = 1;
System.out.println(i);
ok(); }
static void ok() {
System.out.println("xx");
}
}
// Result of this program
// 1
// xx
ลักษณะของObject
1. identity คือ เอกลักษณ์เฉพาะตัวที่ทาให้ Object ของคลาสหนึ่งๆ แตกต่างจากObject ของอีกหนึ่งคลาสหนึ่ง
ซึ่งในภาษาจาวา identity จะหมายถึง Attribute หรือตัวแปร (Variable)
2. State คือสถานะของ Object ณ เวลาหนึ่งๆ ซึ่งสามารถเปลี่ยนแปลงได้เมื่อมีการกระตุ้นจาก Object อื่นโดย
การส่ง Message ในภาษาจาวา State จะหมายถึงค่าของ Attribute (Value of Attribute)
3. Behavior คือ พฤติกรรมที่ Object กระทาและตอบสนองทุกครั้ง โดยการกระตุ้นObject อื่นโดยการ
ส่ง Message ต่อกันในภาษาจาวา Behavior ก็คือ Method
การ run-time โดยแต่ละ object จะมีข้อมูลเฉพาะของตัวเอง ทาให้ object แต่ละobject ของ class ซึ่งใช้ source
code เดียวกันมีคุณลักษณะและคุณสมบัติที่แตกต่างกัน
Encapsulation - การปิดบังข้อมูล เป็นวิธีการกาหนดสิทธิในการเข้าถึงข้อมูล หรือการกระทา
กับ อ็อบเจกต์ ของ คลาสนั้นๆ ทาให้แน่ใจได้ว่าข้อมูลของอ็อบเจกต์นั้นจะถูกเปลี่ยนแปลงแก้ไขผ่าน
ทาง methods หรือ properties ที่อนุญาตเท่านั้น
Inheritance - การสืบทอดคุณสมบัติ เป็นวิธีการสร้าง คลาสย่อย ที่เรียกว่าซับคลาส
(subclass) ซึ่งจะเป็นกาหนดประเภทของวัตถุให้จาเพาะเจาะจงขึ้น ซึ่ง ซับคลาส จะได้รับถ่ายทอด
คุณสมบัติต่างๆมาจากคลาสหลักด้วย
Abstraction - นามธรรม เป็นการแสดงถึงคุณลักษณะและพฤติกรรมของobject เท่าที่จาเป็นต้อง
รับรู้และใช้งาน โดยซ่อนส่วนที่เหลือเอาไว้เพื่อไม่ให้เกิดความสับสน
Polymorphism - ภาวะที่มีหลายรูปแบบ เป็นวิธีการกาหนดรูปแบบการกระทาที่เหมือนกันแต่
ได้ผลที่แตกต่างกัน เช่น การเปล่งเสียง เป็น method หลักของ คลาส สิ่งมีชีวิต ซึ่งมีคลาส มนุษย์และ
คลาสสุนัข เป็น ซับคลาส แต่ผลของการเปล่งเสียงของอ็อบเจกต์จากคลาสทั้งสองจะออกมาไม่
เหมือนกัน
โปรแกรมภาษาเชิงวัตถุ (Object-Oriented Programming Language : OOPL)
ในการเขียนโปรแกรมแบบดั้งเดิมของเราจะเสมือนกับการเขียนคาสั่งที่จะสั่งให้เครื่อง
คอมพิวเตอร์ทางานตามที่เราต้องการซึ่งโดยรูปแบบเหมือนกับผู้พัฒนาโปรแกรมจะพูดหรือออกคาสั่งใน
เชิงของกริยาหรือการกระทาให้กับเครื่องคอมพิวเตอร์ให้ทางานตามที่เราสั่ง เช่น พิมพ์ข้อความบนหน้าจอ
รับข้อมูลจากคีย์บอร์ดเป็นต้น ในที่นี้ผู้เขียนโปรแกรมทาการเขียนคาสั่งเพื่อที่จะสั่งให้เครื่องทางานพิมพ์
ข้อความออกบนหน้าจอหรือรับข้อมูลจากคีย์บอร์ด สาหรับการเขียนหรือพัฒนาโปรแกรมในอีกรูปแบบ
หนึ่งเป็นการมองโปรแกรมในลักษณะของกลุ่มก้อนของวัตถุที่ประกอบด้วยตัวข้อมูลและคาสั่งการจัดการ
หรือวิธีการที่จะจัดการกับข้อมูลเหล่านั้น เราเรียกโปรแกรมในลักษณะนี้ว่าเป็นแกรมเชิงวัตถุ(Object
Oriented Programming) หรือ OOP ซึ่งจะคล้ายคลึงหรือเป็นการเลียนแบบโลกแห่งความเป็นจริงโดยมอง
ทุกๆสิ่งเป็นวัตถุ
การเขียน program แบบ OOP มีลักษณะ 5 ประการ
- ทุกสิ่งทุกอย่างคือ object
ในแง่หนึ่งเราก็อาจตีความว่า object เป็นตัวแปรที่มีความพิเศษอยู่ในตัวเอง คือ นอกจากเก็บค่าต่าง ๆ ได้
แล้ว เรายังสามารถที่จะสั่ง (request) ให้ object ทางาน (operation) ต่าง ๆ ที่เกี่ยวกับตัวมันเองด้วย
- Program ประกอบไปด้วย object ที่ต่างก็ส่งข้อความ (message) บอกให้กันและกันว่าต้องทาอะไร
การส่ง message ก็คือการส่ง request หรือการเรียกใช้ function ของ objectนั้น ๆ
- Object แต่ละตัวมีหน่วยความจาที่เต็มไปด้วย object อื่น ๆเราสร้าง objectจาก object ตัวอื่นที่มีอยู่แล้ว
- Object มี รูปแบบ หรือ ชนิด ของตัวเอง (type/class)
- Object ที่ต้นตอมาจาก type แบบเดียวกันสามารถที่จะรับข้อมูลซึ่งกันและกันได้
- Program ประกอบไปด้วย object ที่ต่างก็ส่งข้อความ (message) บอกให้กันและกันว่า
ต้องทาอะไร
การส่ง message ก็คือการส่ง request หรือการเรียกใช้function ของ objectนั้น ๆ
- Objectแต่ละตัวมีหน่วยความจาที่เต็มไปด้วย object อื่น ๆเราสร้าง object
จาก object ตัวอื่นที่มีอยู่แล้ว
- Objectมี รูปแบบ หรือ ชนิด ของตัวเอง (type/class)
- Objectที่ต้นตอมาจาก type แบบเดียวกันสามารถที่จะรับข้อมูลซึ่งกันและกันได้

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Presentation 5

  • 1.
  • 2. Class หมายถึงโครงสร้างของ object โดย class เป็นตัวกาหนดว่า object นั้นจะ มี data หรือคุณลักษณะอะไร บ้าง และมี method อะไรบ้าง เปรียบเสมือนพิมพ์เขียว (template) ของอ๊อปเจ็ค วัตถุ (Object) คือ ตัวแทนของบุคคล สถานที่ หรือสิ่งของที่สนใจใน เหตุการณ์หนึ่ง ซึ่งอาจจับต้องได้หรือจับต้องไม่ได้
  • 3. Objectเป็นองค์ประกอบสาคัญของการเขียนโปรแกรมที่สามารถรับค่า และแสดงส่งค่าได้ และจากนิยาม Object คือตัวแทนของสิ่งของที่อยู่ในโลกของความ เป็นจริง ซึ่งอาจเป็นสิ่งที่จับต้องได้หรือไม่ได้ จะต้องมีคุณลักษณะ (Attribute) ที่บ่งบอก ว่าเป็น Object ของอะไร และมีพฤติกรรม (Behavior) ที่บ่งบอกให้ทราบว่าObject นั้นทา อะไร ดังนั้น Object จะสามารถตอบสนองต่อสิ่งที่กระทาในการร้องขอสิ่งต่างๆ ได้
  • 4. คุณลักษณะของการเขียนโปรแกรมเชิงวัตถุ 1) การห่อหุ้ม (Encapsulation) หมายถึงการจะเรียกใช้คุณลักษณะของอ๊อปเจ็ค จะทาได้โดยการเรียกผ่านเมธอด เท่านั้น หลักการของการห่อหุ้ม คือการกาหนดให้คุณลักษณะของอ๊อปเจ็คมีคุณสมบัติ เป็น private และกาหนดให้เมธอดมีคุณสมบัติเป็น public โดยมีเมธอดget/set ไว้เพื่อ เข้าถึง data นั้นๆ จะเรียกว่า class นั้นๆ เป็น Full Encapsulation class
  • 5. 2) การสืบทอด (Inheritance) หมายถึงการนิยามคลาสใหม่จากคลาสที่มีอยู่แล้วโดยคลาสใหม่สามารถที่จะนาคุณลักษณะและเมธอดของคลาสเดิมมาใช้ได้ คือ Class หนึ่งๆสามารถสืบทอดคุณสมบัติบางประการจาก Class อื่น แล้วเพิ่มคุณสมบัติเฉพาะของ Class นั้นเข้าไป - Class ที่ได้รับการสืบทอดคุณสมบัติเรียกว่า Subclasses - Class ที่เป็นต้นแบบเรียกว่า Superclass เป็นการช่วยให้ไม่ต้องพัฒนา ส่วนที่ซ้าหลายๆรอบ (Reusable) Class หนึ่งๆจะมี Superclass ได้เพียง Class เดียวเท่านั้น (Single Inheritance) ในภาษาจาวา จะใช้คีย์เวิร์ด extends เพื่อระบุการสืบทอด 3) การมีได้หลายรูปแบบ (Polymorphism) หมายถึง การที่สามารถตอบสนองต่อข่าวสาร (เมธอด) เดียวกันด้วยวิธีการที่ต่างกัน และสามารถกาหนดออปเจ็คได้หลาย รูปแบบ - Overriddenmethod - Dynamic Binding
  • 6. • ตัวอย่างที่เน้นโปรแกรมแบบ OOP 1) Object แรกของ class มักชื่อ main โปรแกรมนี้สั้น และง่ายที่สุด >> สร้างกล่อง 1 กล่องในกล่องมี object ทางาน พิมพ์x เพียงอักษรเดียว >> มองว่า class ก็คือกล่อง แต่ละกล่องคือที่เก็บ object class x { public static void main(String args[]) { System.out.println("x"); } }
  • 7. 2) การเรียก object ใน class เดียวกัน โดยมองว่า class เสมือนกล่องเก็บobject มากมาย >> สร้างกล่อง 1 กล่องในกล่องมี 2 object และ object 1 เรียก object 2 มาทางาน class x { public static void main(String args[]) { int i = 1; System.out.println(i); ok(); } static void ok() { System.out.println("xx"); } } // Result of this program // 1 // xx
  • 8. ลักษณะของObject 1. identity คือ เอกลักษณ์เฉพาะตัวที่ทาให้ Object ของคลาสหนึ่งๆ แตกต่างจากObject ของอีกหนึ่งคลาสหนึ่ง ซึ่งในภาษาจาวา identity จะหมายถึง Attribute หรือตัวแปร (Variable) 2. State คือสถานะของ Object ณ เวลาหนึ่งๆ ซึ่งสามารถเปลี่ยนแปลงได้เมื่อมีการกระตุ้นจาก Object อื่นโดย การส่ง Message ในภาษาจาวา State จะหมายถึงค่าของ Attribute (Value of Attribute) 3. Behavior คือ พฤติกรรมที่ Object กระทาและตอบสนองทุกครั้ง โดยการกระตุ้นObject อื่นโดยการ ส่ง Message ต่อกันในภาษาจาวา Behavior ก็คือ Method การ run-time โดยแต่ละ object จะมีข้อมูลเฉพาะของตัวเอง ทาให้ object แต่ละobject ของ class ซึ่งใช้ source code เดียวกันมีคุณลักษณะและคุณสมบัติที่แตกต่างกัน
  • 9. Encapsulation - การปิดบังข้อมูล เป็นวิธีการกาหนดสิทธิในการเข้าถึงข้อมูล หรือการกระทา กับ อ็อบเจกต์ ของ คลาสนั้นๆ ทาให้แน่ใจได้ว่าข้อมูลของอ็อบเจกต์นั้นจะถูกเปลี่ยนแปลงแก้ไขผ่าน ทาง methods หรือ properties ที่อนุญาตเท่านั้น Inheritance - การสืบทอดคุณสมบัติ เป็นวิธีการสร้าง คลาสย่อย ที่เรียกว่าซับคลาส (subclass) ซึ่งจะเป็นกาหนดประเภทของวัตถุให้จาเพาะเจาะจงขึ้น ซึ่ง ซับคลาส จะได้รับถ่ายทอด คุณสมบัติต่างๆมาจากคลาสหลักด้วย Abstraction - นามธรรม เป็นการแสดงถึงคุณลักษณะและพฤติกรรมของobject เท่าที่จาเป็นต้อง รับรู้และใช้งาน โดยซ่อนส่วนที่เหลือเอาไว้เพื่อไม่ให้เกิดความสับสน Polymorphism - ภาวะที่มีหลายรูปแบบ เป็นวิธีการกาหนดรูปแบบการกระทาที่เหมือนกันแต่ ได้ผลที่แตกต่างกัน เช่น การเปล่งเสียง เป็น method หลักของ คลาส สิ่งมีชีวิต ซึ่งมีคลาส มนุษย์และ คลาสสุนัข เป็น ซับคลาส แต่ผลของการเปล่งเสียงของอ็อบเจกต์จากคลาสทั้งสองจะออกมาไม่ เหมือนกัน
  • 10. โปรแกรมภาษาเชิงวัตถุ (Object-Oriented Programming Language : OOPL) ในการเขียนโปรแกรมแบบดั้งเดิมของเราจะเสมือนกับการเขียนคาสั่งที่จะสั่งให้เครื่อง คอมพิวเตอร์ทางานตามที่เราต้องการซึ่งโดยรูปแบบเหมือนกับผู้พัฒนาโปรแกรมจะพูดหรือออกคาสั่งใน เชิงของกริยาหรือการกระทาให้กับเครื่องคอมพิวเตอร์ให้ทางานตามที่เราสั่ง เช่น พิมพ์ข้อความบนหน้าจอ รับข้อมูลจากคีย์บอร์ดเป็นต้น ในที่นี้ผู้เขียนโปรแกรมทาการเขียนคาสั่งเพื่อที่จะสั่งให้เครื่องทางานพิมพ์ ข้อความออกบนหน้าจอหรือรับข้อมูลจากคีย์บอร์ด สาหรับการเขียนหรือพัฒนาโปรแกรมในอีกรูปแบบ หนึ่งเป็นการมองโปรแกรมในลักษณะของกลุ่มก้อนของวัตถุที่ประกอบด้วยตัวข้อมูลและคาสั่งการจัดการ หรือวิธีการที่จะจัดการกับข้อมูลเหล่านั้น เราเรียกโปรแกรมในลักษณะนี้ว่าเป็นแกรมเชิงวัตถุ(Object Oriented Programming) หรือ OOP ซึ่งจะคล้ายคลึงหรือเป็นการเลียนแบบโลกแห่งความเป็นจริงโดยมอง ทุกๆสิ่งเป็นวัตถุ
  • 11. การเขียน program แบบ OOP มีลักษณะ 5 ประการ - ทุกสิ่งทุกอย่างคือ object ในแง่หนึ่งเราก็อาจตีความว่า object เป็นตัวแปรที่มีความพิเศษอยู่ในตัวเอง คือ นอกจากเก็บค่าต่าง ๆ ได้ แล้ว เรายังสามารถที่จะสั่ง (request) ให้ object ทางาน (operation) ต่าง ๆ ที่เกี่ยวกับตัวมันเองด้วย - Program ประกอบไปด้วย object ที่ต่างก็ส่งข้อความ (message) บอกให้กันและกันว่าต้องทาอะไร การส่ง message ก็คือการส่ง request หรือการเรียกใช้ function ของ objectนั้น ๆ - Object แต่ละตัวมีหน่วยความจาที่เต็มไปด้วย object อื่น ๆเราสร้าง objectจาก object ตัวอื่นที่มีอยู่แล้ว - Object มี รูปแบบ หรือ ชนิด ของตัวเอง (type/class) - Object ที่ต้นตอมาจาก type แบบเดียวกันสามารถที่จะรับข้อมูลซึ่งกันและกันได้
  • 12. - Program ประกอบไปด้วย object ที่ต่างก็ส่งข้อความ (message) บอกให้กันและกันว่า ต้องทาอะไร การส่ง message ก็คือการส่ง request หรือการเรียกใช้function ของ objectนั้น ๆ - Objectแต่ละตัวมีหน่วยความจาที่เต็มไปด้วย object อื่น ๆเราสร้าง object จาก object ตัวอื่นที่มีอยู่แล้ว - Objectมี รูปแบบ หรือ ชนิด ของตัวเอง (type/class) - Objectที่ต้นตอมาจาก type แบบเดียวกันสามารถที่จะรับข้อมูลซึ่งกันและกันได้