OOP (Object-Oriented Programming) การเขียนโปรแกรมเชิงวัตถุ
TOPIC ความหมายของ OOP Primitive & Reference Type Scope of variable Class & Object Object Concept Access Modifier UML Class Diagram
ความหมายของ OOP OOP คือสไตล์การเขียนโปรแกรม(Paradigm) ฉะนั้นหากผู้ผลิตซอฟแวร์ที่มีความคิดแบบ non-OOP จะเลือกผลิตซอฟแวร์ด้วยภาษาที่สนับสนุน OOP แค่ไหน ผลลัพธ์ที่ได้ก้อคือ ซอฟแวร์ที่ไม่เป็น OOP ผู้ผลิตซอฟแวร์ไม่จำเป็นต้องผลิตซอฟแวร์ที่เป็นไปตามแนวคิดแบบ OOP แต่เมื่อได้ รับรู้ถึงประโยชน์ของการผลิตซอฟแวร์ตามแนวคิดOOPแล้ว แน่ใจหรือ ? ที่จะไม่ผลิตซอฟแวร์ตามแนวคิดOOP
Primitive & Reference Type Primitive Type คือ Type ที่มีอยู่ก่อนแล้ว เช่น int , float ,double แต่บางครั้ง Type เหล่านี้ก้อตอบสนองความต้องการของเราไม่ได้ เราจึงจำเป็นต้องสร้างTypeขึ้นมาเองUser-DefineType(UDT) ซึ่ง Type เหล่านี้ มีลักษณะเป็น Reference Type
ตัวอย่างของ Primitive & Reference Type Primitive Type Code Reference Type Code int a = 5; Circle a = new Circle(5); int b = 10; Circle b = new Circle(20); a = b; a = b; Reference Type Primitive Type Memory Memory 5 a = 5 a = 10 a b = 10 b 20
Scope of variable Scope of variable หรือขอบเขตของ ตัวแปร ตัวแปรโดยส่วนมากแล้วจะมีขอบเขตเป็น Global variable และ Local variable Global variable คือตัวแปรที่สามารถเข้าถึงได้จากทั้ง Class Local variable คือตัวแปรที่เข้าถึงได้เฉพาะใน Method
What is Global and Local variable list name langs myArray
Class & Object Class คือ code ที่เขียนขึ้นเพื่อเป็นเบ้าหลอม Object ซึ่งวัตถุถูกสร้างได้หลายชิ้นจากพิมเขียวเดียว เช่นกัน Class ก้อสามารถสร้าง Object ได้หลาย Object
ตัวอย่างของ Class & Object ** Object ที่ถูกสร้างขึ้นจาก Class เดียวกันไม่จำเป็นต้องมีลักษณะเหมือนกัน
หัวใจสำคัญของ Object คือ 1.State 2.Behavior 3.Identity Object Concept หัวใจสำคัญของ Object คือ 1.State 2.Behavior 3.Identity
คือคุณลักษณะ หรือ สถานะของ Object ต่างๆ State State หรือ attribute คือคุณลักษณะ หรือ สถานะของ Object ต่างๆ มักอยู่ในรูปของตัวแปรชนิด Global variable เช่น Object รถยนต์ มี state เป็นสีฟ้า **Object หนึ่งสามารถมี State หรือ attribute หลายชนิดเช่น Car มี color,velocity,acceleration เป็น State
Behavior Behavior หรือ Method เป็นความสามารถที่ Object มี เช่น รถยนต์มี Method Drive(),Brake(),turnLeft(),turnRight() หมายความว่า รถยนต์ สามารถที่จะ ขับ,เบรค,เลี้ยวซ้าย,เลี้ยวขวาได้
Behavior(Part 2) Method แบ่งออกได้ 3 ประเภท 1.Constructor 2.Accessor 3.Mutator
Constructor Constructor คือ Method ที่ทำการสร้าง หรือกำหนดค่าเริ่มต้นให้ Object นั้นๆ ลักษณะของ Method Constructor ที่สังเกตได้ชัดเจนคือ ชื่อ Method จะตรงกับชื่อของ Class นั้นๆ และ จะไม่มี return Type เช่น Class Main Class Person public Person(string name,string phone){ this.name = name; this.phone = phone; } public static void Main(){ Person p1 = new Person(“Exceed”,”026405678”); } จากตัวอย่างนี้ p1 จะมี name เป็น “Exceed” และ phone เป็น “026405678”
Accessor Accessor คือ Method ที่ทำหน้าที่ในการ return ค่าต่างๆ มักจะตั้งชื่อโดยใช้คำว่า get เช่น getName(),getPrice(),getColor()
Mutator Mutator คือ Method ที่ทำหน้าที่ในการเปลี่ยนแปลงค่าของ State หรือ attribute มักจะตั้งชื่อ Method โดยใช้คำว่า set เช่น setName(),setPrice()
Identity หมายถึง การที่ Object ต่างๆมีเอกลักษณ์ แม้ Object นั้นๆ จะถูกสร้างจาก class เดียวกัน Object Color = silver Price = 10,000,000 ID = งจ1919 Object Color = silver Price = 10,000,000 Class ID = กข1234
Access Modifier คือการเข้าถึงข้อมูล ทั้ง State และ Behavior Public คือการเข้าถึงข้อมูล ได้จากทุก Class Private คือการยอมให้เข้าถึงข้อมูลเฉพาะภายใน Class เท่านั้น
What is state or behavior ?
UML Class Diagram UML (Unified Modeling Language) เมื่อกล่าวถึง OOP ก้อมีความจำเป็นที่จะต้องกล่าวถึง UML เนื่องจาก UML สามารถแสดงส่วนประกอบ ในการสร้างโปรเจคในรูปของ OOP และเป็นการช่วยให้ทีมเข้าใจการแบ่งงาน หรืองานที่ได้รับมอบหมายได้ง่ายขึ้น
UML Class Diagram Example Car -name:string -price:int -color:string +Car(string:name,int:price,string:color) +getName():string +getPrice():int +getColor():string /* Class Name State Behavior + public private */
Class Diagram Example(2)