Please enable JavaScript.
Coggle requires JavaScript to display documents.
หลักการเขียนโปรแกรมเชิงวัตถุ - Coggle Diagram
หลักการเขียนโปรแกรมเชิงวัตถุ
POLYMORPHISM IN JAVASCRIPT
มี 2 ประเภท
Dynamic or Runtime polymorphism สามารถทำงานได้ด้วย Overloading Method ข้อดีคือการจัดสรรพื้นที่หน่วยความจำสำหรับ Method ในเวลาเดียวกัน
Static or Compile time polymorphism สามารถทำงานได้ด้วย Overloading Method มีการสร้างพื้นที่หน่วยความจำในเวลาประมวลผลเมื่อเชื่อมโยงกับ object
ABSTRACTION IN JAVASCRIPT
เป็นการเอาส่วน concrete ของ class โดยรักษาลักษณะร่วมกัน
Polymorphism ในบางภาษาจะมี abstract/interface keyword มาเพื่อระบุ class
จัดการความซับซ้อนของระบบโดยการซ่อนรายละเอียดภายในและเขียนไว้ในระบบย่อยหลายระบบ
คลาสนั้นเปรียบเสมือนเทมเพลตสำหรับสร้างวัตถุหลายรายการที่มีคุณสมบัติเดียวกัน แต่บันทึกค่าข้อมูลที่แตกต่างกัน
ENCAPSULATION IN JAVASCRIPT
Why Encapsulation?
ในช่วงทศวรรษที่1960และ1970 โปรแกรมเมอร์เกิดปัญหาเกี่ยวกับการใช้ทรัพยาก่อน
ได้รับแรงบันดาลใจเป็นพิเศษจากการที่เซลล์ถูกห่อหุ้มด้วยเยื่อหุ้มเซลล์และสื่อสารผ่านการส่งข้อความ
แนวคิดทั้งหมดมารวมกันเพื่อสร้างรากฐานของOOP: การห่อหุ้มและการส่งข้อความ
ปัญหาเกี่ยวกับสถานะที่ไม่แน่นอนที่ใช้ร่วมกัน หากสถานะอินพุตของคำสั่งขึ้นอยู่กับสถานะเอาต์พุตของคำสั่งอื่นๆ
การห่อหุ้มเป็นวิธีในการจัดการกับปัญหา การตัดสินใจเลือกโครงสร้างข้อมูลก่อนเพื่อแสดงข้อมูล
รายละเอียดการใช้งานเหล่านั้นหลัง interface แล้วทุกอย่างที่ใช้วัตถุจะทำผ่าน interface เท่านั้น
ควบคุมคุณสมบัติและวิธีการเรียนได้ดีขึ้น
แอ็ตทริบิวต์ของคลาส สามารถทำเป็นแบบอ่านหรือเขียนอย่างเดียว
โปรแกรมเมอร์สามารถเปลี่ยนรหัสส่วนหนึ่งได้โดยไม่กระทบส่วนอื่น
เป็นคุณสมบัติการห่อหุ้ม เพื่อป้องกันไม่ให้ออบเจ็กต์ภายนอกเข้าถึงข้อมูลได้อย่างอิสระ
หลักการของการออกแบบซอฟต์แวร์
จากโปรแกรมไปยังส่วนต่อประสานไม่ใช่การใช้งาน
หลีกเลี่ยงสถานะที่ไม่แน่นอนที่แบ่งปัน
การเปลี่ยนแปลงข้อกำหนดเล็กน้อยย่อมจำเป็นต้องมีการเปลี่ยนแปลงเล็กน้อยในซอฟต์แวร์
INHERITANCE IN JAVASCRIPT
Overriding method
Overriding เป็นการเปลี่ยนแปลงการทำงานของเมธอดในคลาสลูกที่สืบทอดมาจากคลาสแม่
เมธอดในคลาสลูกจะมีชื่อเมธอด,ชนิดข้อมูลที่คืนค่า,จำนวนและชนิดข้อมูลของอาร์กิวเมนต์ที่เหมือนกับคลาสแม่
การคำนวณหาพื้นที่ของรูปทรงเรขาคณิตต่างๆมีสูตรคำนวณต่างกัน
การคำนวณค่าแรงของพนักงานที่มีวิธีคำนวณแตกต่างกันในแต่ละตำแหน่ง
Overload Constructor
สามารถทำ overload Constructor ในคลาสแม่ได้
Constructor เป็นสิ่งที่คลาสลูกไม่สามารถสืบทอดจากคลาสแม่ได้
คลาสลูกสามารถใช้งาน Constructor ของคลาสแม่ได้ โดยใช้ คีย์เวิร์ด super