Please enable JavaScript.
Coggle requires JavaScript to display documents.
แผนผังความคิดเกี่ยวกับหลักการของการโปรแกรมเชิงวัตถุ - Coggle Diagram
แผนผังความคิดเกี่ยวกับหลักการของการโปรแกรมเชิงวัตถุ
Chapter4
TABLE OF CONTENTS
01 ตัวแปร ( Variable )
คือชื่อหรือสัญลักษณ์ที่กำหนดขึ้นเพื่อการอ้างอิงตำแหน่งหน่วยความจำที่ใช้เก็บข้อมูล
02 ชนิดข้อมูล ( Data Type )
แบ่งตามรูปแบบการใช้งานเช่น 1.ชนิดของข้อมูลพื้นฐานของภาษา (Primitive Data Types)
2.ชนิดข้อมูลที่ถ่ายทอดมาจากคลาส (Class Types)
3.ชนิดของข้อมูลที่เป็นอาร์เรย์ หรือข้อมูลเป็นชุดๆ (Arra Types)
03 ตัวดำเนินการ (Operator)
ทำหน้าที่ดำเนินการใดๆ หรือตัวถูกกระทำ (Operand)
-นิวพจน์ (Expression)
หมายถึง
•ข้อความหรือประโยคที่เขียนอยู่ในรูปลักษณ์
•โดยนำข้อมูลตัว | ตัวแปร | ฟังก์ชันหรือค่าคงที่ มาสัมพันธ์กับตัวดำเนินการ อย่างใดอย่างหนึ่ง
•นิพจน์1นิพจน์ จะต้องมีตัวถูกกระทำ และตัวดำเนินการ อย่างน้อย1ตัว
04 การแปลงชนิดของข้อมูล (Data Type Conversion)
วิธีการแปลงชนิดของข้อมูล Implicit Type Conversion Explicit Type Conversion (casting) การแปลงชนิดของข้อมูลผ่านคลาส Wrapper
Chapter 5
OOP
Data Abstraction
Encapsulation
Information Hiding
Inheritance
Polymorphism
Classes
Polymorphism
•ออบเจ็ดสามารถมีได้หลายรูปแบบ ซึ่งเกิดจากการสืบทอดจาก super class และมันยังคงรักษาสภาพและคุณสมบัติของ super class ไว้
Object Relationship
•Dependency Relationship
"Dependency ใช้เพื่ออธิบายว่าสองสิ่งมีความสัมพันธ์กันแบบขึ้นต่อกันหรือมีอิทธิพลต่อกัน"
•Composition Relationship
"เป็นความสัมพันธ์เชิงส่วนประกอบเช่นเดียวกับความสัมพันธ์แบบ แอคกรีเกชัน แต่มีความแตกต่างกันตรงที่การพิจารณาความมีชีวิต หรือช่วงชีวิตของวัตถุที่นำมาสร้างเป็นส่วนประกอบว่ามีอิสระต่อตัวที่นำไปประกอบหรอไม่"
• Composition Relationship
"เช่น คลาสรถยนต์ต้องมีคลาสล้อ คลาสตัวถังรถยนต์
คลาสเครื่องยนต์ เป็นต้น"
Chapter 6
ENCAPSULATION
: เป็นคุณสมบัติหารห่อหุ้มหรือการซ่อนรายละเอียดเพื่อป้องกันไม่ให้ออบเจ็กต์ ภายนอกเข้าถึงข้อมูลได้อย่างอิสระ
: ออบเจ็กต์ไม่สามารถเรียกใช้หรือเปลี่ยนแปลงค่าข้อมูลได้
: สามารถจำกัดสิทธิการใช้งานแอตทริบิวต์และเมธอดได้ด้วยระดับการใช้งานของ access modifier
: หากต้องการซ่อนรายละเอียด ให้กำหนดแบบ private
: หากต้องการใช้งานแอตทริบิวต์หรือเมธอดใดๆ ให้กำหนดเป็นแบบ public
Why Encapsulation
ควบคุมคุณสมบัติและวิธีการเรียนได้ดีขึ้น
แอ็ตทริบิวต์ของคลาส สามารถเป็นแบบอ่านอย่างเดียว
ยืดหยุ่น : โปรแกรมเมอร์สามารถเปลี่ยนรหัสส่วนหนึ่งได้โดยไม่กระทบส่วนอื่น และเพิ่มความปลอดภียของข้อมูล
ENCAPSULATION
การใช้ private Fields ซึ่งจะสนับสนุนการแสดงผลใน Chrome,Opera,Android Browser และ Chrome สำหรับ Android ด้วย
การใช้ Factory Function และ Private Fields โดยใช้การห่อหุ้มแบบปิดเพื่อใช้คลาสฟิลด์เฉพาะเจาะจงของคลาสใหม่ แต่ถ้าต้องการ encapsulation จริงๆทั้งการปิดและฟิลด์คลาสนั้นดีกว่าการเน้น เพราะไม่พึ่งพากระบวนการและบังคับใช้ encapsulation ที่แท้จริงแทน
Chapter7
Inheritance
คลาส Car
เป็นคลาสที่สามารถ -สตาร์ทเครื่องได้ -เปลี่ยนเกียร์ได้ -ดับเครื่องได้
คลาส Bus
เป็นคลาสรถบัสที่สามารถ -สตาร์ทเครื่องได้ -เปลี่ยนเกียร์ได้ -ดับเครื่องได้ -มีผู้โดยสาร
Inheritance in JavaScript
• ได้ตั้งค่า Student.prototype ให้เป็น Person object ที่สร้างขึ้นใหม่
Keyword ใหม่สร้างวัตถุของคลาส person และยังกำหนด Person.prototype ให้กับต้นแบบของวัตถุใหม่
จากนั้นในที่สุดก็กำหนดวัตถุที่สร้างขึ้นใหม่ให้กับ Student.prototype object
สามารถกำหนด Person.prototype ให้กับ Student.prototype object
Mixins and Traits
Mixins
: เป็นวิธีที่ใช้ในการเรียกใช้คลาสซ้ำ หรือนำมาใช้งานอีกครั้ง ในคลาสที่มีการสืบทอดหลายลำดับขั้น เพื่อให้สามารถเรียกใช้งาน properties และ method ได้
•โดยคลาสที่จะนำมาใช้งานแบบ Mixins นั้นต้องเป็นคลาสที่ไม่ได้สืบทอดหรือ extends มาจากคลาสอื่น นอกจากObject class รวมถึงคลาสที่ไม่มีการกำหนด
Traits
• ใช้ในการประกาศวิธีการที่สามารถใช้ในหลายคลาส •Traits สามารถมี methods และ abstract ที่สามารถใช้ในคลาส
• และ Method ที่สามารถแก้ไขการเข้าถึงใดๆ
• มีจุดประสงค์เพื่อลดข้อจำกัดบางประการของการสืบทอด โดยทำให้นักพัฒนาสามารถนำชุดเมธอดมาใช้ใหม่ได้อย่างอิสระ หลายคลาสที่อยู่ในลำดับชั้นของคลาสที่แตกต่างกัน
Chapter8
POLYMORPHISM
การที่ออบเจ็ดสามารถมีได้หลายรูปแบบ ซึ่งเกิดจากการสืบทอดจาก super class และมันยังคงรักษาสภาพและคุณสมบัติของ super class ไว้
เกิดขึ้นเมื่อเรามีหลายคลาสที่เกี่ยวข้องซึ่งกันและกันโดยการสืบทอด
หลังจากนั้นเราสามารถใช้ Super class สำหรับการประกาศตัวแปรของออบเจ็ด ที่สร้างออบเจ็ดจาก Sub class ได้
[
POLYMORPHISM
]
มี2ประเภทได้แก่
Static or Compile time polymorphism สามารถทำงานได้ด้วย Overloading Method เนื่องจากการใช้ทรัพยากรที่มากในพื้นที่หน่วยความจำหลักนั้นไม่ดีเนื่องจากแร่ละ Overloading Method มีการสร้างพื้นที่หน่วยความจำในเวลาประมวลผลเมื่อโยงกับ object
Dynamic or Runtime polymorphism สามารถทำงานได้ด้วย Overriding Method ข้อดีคือการจัดสรรพื้นที่หน่วยความจำสำหรับ Method ในเวลาทำงาน
ABSTRACTION
Abstract ในซอฟต์แวร์มีหลายรูปแบบ •Algorithms • Data structure • Modules • Classes. • Framework