220 likes | 377 Views
OOP ( O bject- O riented P rogramming). การเขียนโปรแกรมเชิงวัตถุ. TOPIC. ความหมายของ OOP Primitive & Reference Type Scope of variable Class & Object Object Concept Access Modifier UML Class Diagram. ความหมายของ OOP. OOP คือสไตล์การเขียนโปรแกรม (Paradigm)
E N D
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 ReferenceType Code int a = 5; Circle a = new Circle(5); int b = 10; Circle b = new Circle(20); a = b; a = b; ReferenceType 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ก้อคือวัตถุที่ถูกสร้างขึ้น ซึ่งวัตถุถูกสร้างได้หลายชิ้นจากพิมเขียวเดียว เช่นกัน Classก้อสามารถสร้าง Objectได้หลาย Object
ตัวอย่างของClass & Object Object Object Object Class ** Object ที่ถูกสร้างขึ้นจาก Class เดียวกันไม่จำเป็นต้องมีลักษณะเหมือนกัน
Object Concept หัวใจสำคัญของ Object คือ 1.State 2.Behavior 3.Identity
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 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 ? State Behavior
UML Class Diagram UML (Unified Modeling Language) เมื่อกล่าวถึง OOPก้อมีความจำเป็นที่จะต้องกล่าวถึง UML เนื่องจาก UMLสามารถแสดงส่วนประกอบ ในการสร้างโปรเจคในรูปของ OOP และเป็นการช่วยให้ทีมเข้าใจการแบ่งงาน หรืองานที่ได้รับมอบหมายได้ง่ายขึ้น
UML Class Diagram Example • /* • Class Name • State • Behavior • + public • private • */