Object-Oriented Programming IUP02 At Exceep camp
The vocabulary of OOP class Car { private string carColor; private string carType; private string carStatus = “Stop”; public Car(string color,string type){ carColor = color; cartype = type; } public void drive (){ carStatus = “Drive”; } public void stop(){ carStatus = “Stop”; } การประกาศ class
The vocabulary of OOP class Car { private string carColor; private string carType; private string carStatus = “Stop”; public Car(string color,string type){ carColor = color; cartype = type; } public void drive (){ carStatus = “Drive”; } public void stop(){ carStatus = “Stop”; } Fields
The vocabulary of OOP class Car { private string carColor; private string carType; private string carStatus = “Stop”; public Car(string color,string type){ carColor = color; cartype = type; } public void drive (){ carStatus = “Drive”; } public void stop(){ carStatus = “Stop”; } Methods
The vocabulary of OOP class Car { private string carColor; private string carType; private string carStatus = “Stop”; public Car(string color,string type){ carColor = color; cartype = type; } public void drive (){ carStatus = “Drive”; } public void stop(){ carStatus = “Stop”; } Constructor
The vocabulary of OOP class carTesting{ static void Main(string[] args){ Car camry = new Car(“Blue”,”Car”); Car vigo = new Car(“Green”,”Truck”); } camry.drive(); Console.WriteLine(“Camry status=”+ camry.carStatus); Console.WriteLine(“Vigo status=”+ vigo.carStatus); } Object camry กับ vigo คือ object Out put: Camry status=drive Vigo status=stop
ภาษาไหนเป็น OOP ดูอย่างไร OOP must provide support for 3 key language features 1.encapsulation 2.inheritance 3.dynamic binding
Class Class เหมือน พิมพ์เขียว ของ Object ที่จะ เกิดขึ้น Car - carColor:String -carType:String -carStatus:String +drive() +stop() Example: Class Name: Car Field: carColor, cartype, carStatus Method: drive, stop An UML class diagram
Object An object is an actual instance of the class. Object’s characteristics are behavior (defined by the class), state (the value of its attributes) and identity (a name). Car - carColor:String -carType:String -carStatus:String +drive() +stop() Example1: Car camry = new Car(“Blue”,”Car”); Car vigo = new Car(“Green”,”Truck”); /*Camry Fields carColor = Blue and carType = Car */ /*Vigo Fields carColor = Green and carType = Truck*/ Example2: Random ran = new Random():
Object camry carColor = “Blue” carType = “Car” carStatus = “Drive” vigo carColor = “Green” carType = “Truck” carStatus = “Stop”
Class versus Objects Defines the properties and behavior for all instances (objects) of this class. Specific realization of the class James Brucker’s slide 03 object
Inheritance “Inheritance is a powerful concept that greatly enhances the potential reuse of existing software, thereby providing the possibility of significant increases in software development productivity.” (concepts of Programming Languages seventh edition Robert W. Sebesta) Archer (Parent) Camel Archer Horse Archer [Camel Archer & Horse Archer Extends Archer]
Inheritance Archer -HP -AP +Archery +walk Camel Archer +Camel riding Horse Archer +Hose riding Camel Archer กับ Horse Archer จะมีความสามารถ เทียบเท่ากับ Archer หรือ มีความสามารถมากกว่า
Inheritance EX1 public class CamelArcher : Archer EX2 public class Form1 : Form Ex1 CamelArcher จะเป็นตัวลูกของ Archer แล้วจะมีความสามารถเท่ากัน หรือมากกว่า Ex2 จากเมื่อวาน เราจะเห็นว่ามีการใช้งานของ inheritance เช่น From1 ของน้องๆ จะถ่ายทอด ความสามารถต่างจาก class From
Vending machine เครื่องขายของ ของ เราจะประกอบด้วย Class สินค้าต่างๆ เช่น Coke and Fanta Class เครื่องขายของ Class GUI
Vending Machine ปุ่มสั่งสินค้า ปุ่มนี้เมื่อ กด Class เครื่องขาย ของจะทำการดึง Method หรือ Field ของคลาส สินค้า เพื่อ ทำการคำนวณ เงินที่ ต้องจ่าย ปุ่ม check stock กด เพื่อให้ Class เครื่อง ขายของทำการเช็ค สินค้ากับคลาสสินค้า ต่างๆ
Class สินค้า private int price = 15; private int quantity = 100; public int getPrice(){ return price; } public int getQuatity(){ return quantity; } public void setQuatity(int number){ quantity = number } Setter กับ Getter ใน การเข้าถึงข้อมูลที่ถูก private Getter ใช้ในการ แสดงค้าตัวแบบที่อยู่ ภายใน Class Setter ใช้ในการ set ค่าตัวแปรใน Class
Web ที่แนะนำ oriented_programming java/concepts/index.html ,00.html 4/oop.html