SlideShare a Scribd company logo
1 of 22
OOPOOP
((OObject-bject-OOrientedriented PProgramming)rogramming)
การเขียนโปรแกรมเชิงการเขียนโปรแกรมเชิง
วัตถุวัตถุ
TOPICTOPIC
 ความหมายของความหมายของ OOPOOP
 Primitive & Reference TypePrimitive & Reference Type
 Scope of variableScope of variable
 Class & ObjectClass & Object
 Object ConceptObject Concept
 Access ModifierAccess Modifier
 UML Class DiagramUML Class Diagram
ความหมายของความหมายของ OOPOOP
OOPOOP คือสไตล์การเขียนโปรแกรมคือสไตล์การเขียนโปรแกรม(Paradigm)(Paradigm)
ฉะนั้นหากผู้ผลิตซอฟแวร์ที่มีความคิดแบบฉะนั้นหากผู้ผลิตซอฟแวร์ที่มีความคิดแบบ non-non-OOPOOP
จะเลือกผลิตซอฟแวร์ด้วยภาษาที่สนับสนุนจะเลือกผลิตซอฟแวร์ด้วยภาษาที่สนับสนุน OOPOOP แค่ไหนแค่ไหน
ผลลัพธ์ที่ได้ก้อคือ ซอฟแวร์ที่ไม่เป็นผลลัพธ์ที่ได้ก้อคือ ซอฟแวร์ที่ไม่เป็น OOPOOP
ผู้ผลิตซอฟแวร์ไม่จำาเป็นต้องผลิตซอฟแวร์ที่เป็นไปตามผู้ผลิตซอฟแวร์ไม่จำาเป็นต้องผลิตซอฟแวร์ที่เป็นไปตาม
แนวคิดแบบแนวคิดแบบ OOPOOP
แต่เมื่อได้ รับรู้ถึงประโยชน์ของการผลิตซอฟแวร์ตามแต่เมื่อได้ รับรู้ถึงประโยชน์ของการผลิตซอฟแวร์ตาม
แนวคิดแนวคิดOOPOOPแล้วแล้ว
แน่ใจหรือแน่ใจหรือ ??
ที่จะไม่ผลิตซอฟแวร์ตามแนวคิดที่จะไม่ผลิตซอฟแวร์ตามแนวคิดOOPOOP
PrimitivePrimitive && ReferenceReference TypeType
PrimitivePrimitive TypeType คือคือ TypeType ที่มีอยู่ก่อนแล้วที่มีอยู่ก่อนแล้ว
เช่นเช่น int , float ,doubleint , float ,double
แต่บางครั้งแต่บางครั้ง TypeType เหล่านี้ก้อตอบสนองความต้องการเหล่านี้ก้อตอบสนองความต้องการ
ของเราไม่ได้ของเราไม่ได้
เราจึงจำาเป็นต้องสร้างเราจึงจำาเป็นต้องสร้างTypeTypeขึ้นมาเองขึ้นมาเองUUser-ser-
DDefineefineTType(ype(UDTUDT))
ซึ่งซึ่ง TypeType เหล่านี้ มีลักษณะเป็นเหล่านี้ มีลักษณะเป็น ReferenceReference TypeType
ตัวอย่างของตัวอย่างของ PrimitivePrimitive && ReferenceReference
TypeType
Primitive TypePrimitive Type
Primitive TypePrimitive Type CodeCode
int a = 5;int a = 5;
a = 5a = 5
int b = 10;int b = 10;
b = 10b = 10
a = b;a = b;
a = 10a = 10
MemoryMemory
ReferenceReference TypeType CodeCode
Circle a = new Circle(5);Circle a = new Circle(5);
ReferenceReference TypeType
MemoryMemory
a 5
Circle b = new Circle(20);Circle b = new Circle(20);
b
20
a = b;a = b;
Scope of variableScope of variable
Scope of variableScope of variable หรือขอบเขตของ ตัวแปรหรือขอบเขตของ ตัวแปร
ตัวแปรโดยส่วนมากแล้วจะมีขอบเขตเป็นตัวแปรโดยส่วนมากแล้วจะมีขอบเขตเป็น
Global variableGlobal variable และและ Local variableLocal variable
Global variableGlobal variable คือตัวแปรที่สามารถเข้าถึงได้คือตัวแปรที่สามารถเข้าถึงได้
จากทั้งจากทั้ง ClassClass
Local variableLocal variable คือตัวแปรที่เข้าถึงได้เฉพาะในคือตัวแปรที่เข้าถึงได้เฉพาะใน
MethodMethod
What is Global and Local variableWhat is Global and Local variable
listlist
namename
langslangs
myArraymyArray
ClassClass && ObjectObject
ClassClass คือคือ codecode ที่เขียนขึ้นเพื่อเป็นเบ้าหลอมที่เขียนขึ้นเพื่อเป็นเบ้าหลอม
ObjectObject
ถ้าเราเปรียบถ้าเราเปรียบ ClassClass ให้เหมือนกับพิมเขียวให้เหมือนกับพิมเขียว
ObjectObject ก้อคือวัตถุที่ถูกสร้างขึ้นก้อคือวัตถุที่ถูกสร้างขึ้น
ซึ่งวัตถุถูกสร้างได้หลายชิ้นจากพิมเขียวเดียวซึ่งวัตถุถูกสร้างได้หลายชิ้นจากพิมเขียวเดียว
เช่นกันเช่นกัน ClassClass ก้อสามารถสร้างก้อสามารถสร้าง ObjectObject ได้ได้
หลายหลาย ObjectObject
ตัวอย่างของตัวอย่างของ ClassClass && ObjectObject
Class
Object
Object
Object
Object ที่ถูกสร้างขึ้นจาก Class เดียวกันไม่จำาเป็นต้องมีลักษณะเหมือนกัน
ObjectObject ConceptConcept
หัวใจสำาคัญของหัวใจสำาคัญของ ObjectObject คือคือ
1.State1.State
2.Behavior2.Behavior
3.Identity3.Identity
StateState
StateState หรือหรือ attributeattribute
คือคุณลักษณะ หรือ สถานะของคือคุณลักษณะ หรือ สถานะของ ObjectObject ต่างๆต่างๆ
มักอยู่ในรูปของตัวแปรชนิดมักอยู่ในรูปของตัวแปรชนิด Global variableGlobal variable
เช่นเช่น ObjectObject รถยนต์ มีรถยนต์ มี statestate เป็นสีฟ้าเป็นสีฟ้า
**Object หนึ่งสามารถมี State หรือ attribute หลายชนิดเช
Car มี color,velocity,acceleration เป็น State
BehaviorBehavior
BehaviorBehavior หรือหรือ MethodMethod
เป็นความสามารถที่เป็นความสามารถที่ ObjectObject มี เช่นมี เช่น
รถยนต์มีรถยนต์มี MethodMethod
Drive(),Brake(),turnLeft(),turnRight()Drive(),Brake(),turnLeft(),turnRight()
หมายความว่า รถยนต์ สามารถที่จะ ขับหมายความว่า รถยนต์ สามารถที่จะ ขับ,,เบรคเบรค,,เลี้ยวเลี้ยว
ซ้ายซ้าย,,เลี้ยวขวาได้เลี้ยวขวาได้
Behavior(Part 2)Behavior(Part 2)
MethodMethod แบ่งออกได้แบ่งออกได้ 33 ประเภทประเภท
1.Constructor1.Constructor
2.Accessor2.Accessor
3.Mutator3.Mutator
ConstructorConstructor
ConstructorConstructor คือคือ MethodMethod ที่ทำำกำรสร้ำง หรือกำำหนดค่ำเริ่มต้นให้ที่ทำำกำรสร้ำง หรือกำำหนดค่ำเริ่มต้นให้ ObjectObject
นั้นๆนั้นๆ
ลักษณะของลักษณะของ Method ConstructorMethod Constructor ที่สังเกตได้ชัดเจนคือที่สังเกตได้ชัดเจนคือ
ชื่อชื่อ MethodMethod จะตรงกับชื่อของจะตรงกับชื่อของ ClassClass นั้นๆ และ จะไม่มีนั้นๆ และ จะไม่มี return Typereturn Type
เช่นเช่น
public Person(string name,string phone){public Person(string name,string phone){
this.name = name;this.name = name;
this.phone = phone;this.phone = phone;
}}
Class PersonClass Person Class MainClass Main
public static void Main(){public static void Main(){
Person p1 = new Person(“Exceed”,”026405678”);Person p1 = new Person(“Exceed”,”026405678”);
}}
จำกตัวอย่ำงนี้ p1 จะมี name เป็น “Exceed” และ phone เป็น “026405678”
AccessorAccessor
AccessorAccessor คือคือ MethodMethod ที่ทำำหน้ำที่ในกำรที่ทำำหน้ำที่ในกำร returnreturn ค่ำต่ำงๆค่ำต่ำงๆ
มักจะตั้งชื่อโดยใช้คำำว่ำมักจะตั้งชื่อโดยใช้คำำว่ำ getget เช่นเช่น
getName(),getPrice(),getColor()getName(),getPrice(),getColor()
MutatorMutator
MutatorMutator คือคือ MethodMethod
ที่ทำำหน้ำที่ในกำรเปลี่ยนแปลงค่ำของที่ทำำหน้ำที่ในกำรเปลี่ยนแปลงค่ำของ StateState หรือหรือ attributeattribute
มักจะตั้งชื่อมักจะตั้งชื่อ MethodMethod โดยใช้คำำว่ำโดยใช้คำำว่ำ setset เช่นเช่น
setName(),setPrice()setName(),setPrice()
IdentityIdentity
IdentityIdentity หมำยถึง กำรที่หมำยถึง กำรที่ ObjectObject ต่ำงๆมีต่ำงๆมี
เอกลักษณ์เอกลักษณ์
แม้แม้ ObjectObject นั้นๆ จะถูกสร้ำงจำกนั้นๆ จะถูกสร้ำงจำก classclass เดียวกันเดียวกัน
Class
Object
Object
Color = silver
Price = 10,000,000
Color = silver
Price = 10,000,000
ID = กข1234
ID = งจ1919
Access ModifierAccess Modifier
คือกำรเข้ำถึงข้อมูล ทั้งคือกำรเข้ำถึงข้อมูล ทั้ง StateState และและ BehaviorBehavior
 PublicPublic คือกำรเข้ำถึงข้อมูล ได้จำกทุกคือกำรเข้ำถึงข้อมูล ได้จำกทุก ClassClass
 PrivatePrivate คือกำรยอมให้เข้ำถึงข้อมูลเฉพำะภำยในคือกำรยอมให้เข้ำถึงข้อมูลเฉพำะภำยใน
ClassClass เท่ำนั้นเท่ำนั้น
What is state or behavior ?What is state or behavior ?
State
Behavior
UML Class DiagramUML Class Diagram
UMLUML ((UUnifiednified MModelingodeling LLanguageanguage))
เมื่อกล่าวถึงเมื่อกล่าวถึง OOPOOP ก้อมีความจำาเป็นที่จะต้องกล่าวถึงก้อมีความจำาเป็นที่จะต้องกล่าวถึง UMLUML
เนื่องจากเนื่องจาก UMLUML สามารถแสดงส่วนประกอบ ในการสร้างโปรเจคสามารถแสดงส่วนประกอบ ในการสร้างโปรเจค
ในรูปของในรูปของ OOPOOP
และเป็นการช่วยให้ทีมเข้าใจการแบ่งงาน หรืองานที่ได้รับมอบและเป็นการช่วยให้ทีมเข้าใจการแบ่งงาน หรืองานที่ได้รับมอบ
หมายได้ง่ายขึ้นหมายได้ง่ายขึ้น
UML Class Diagram ExampleUML Class Diagram Example
CarCar
-name:string-name:string
-price:int-price:int
-color:string-color:string
+Car(string:name,int:price,string:color)+Car(string:name,int:price,string:color)
++getName():stringgetName():string
+getPrice():int+getPrice():int
+getColor():string+getColor():string
/*
Class Name
State
Behavior
+ public
- private
*/
Class Diagram Example(2)Class Diagram Example(2)

More Related Content

Viewers also liked

Crossss eshops-310313-short
Crossss eshops-310313-shortCrossss eshops-310313-short
Crossss eshops-310313-shortEvgeniya Petrova
 
Jamestown, 1607
Jamestown, 1607Jamestown, 1607
Jamestown, 1607Joe Ludens
 
Data and information
Data and informationData and information
Data and informationsteveathon
 
專題報告
專題報告專題報告
專題報告helen1398
 
Anatomy Lab (1)
Anatomy Lab (1)Anatomy Lab (1)
Anatomy Lab (1)Maych Yon
 
Persediaan mengajar 1 hht, bab 11.
Persediaan mengajar 1 hht, bab 11.Persediaan mengajar 1 hht, bab 11.
Persediaan mengajar 1 hht, bab 11.ayu227
 
St patrick's gac juvenile presentation nov10 reducedsize[1]
St  patrick's gac juvenile presentation nov10 reducedsize[1]St  patrick's gac juvenile presentation nov10 reducedsize[1]
St patrick's gac juvenile presentation nov10 reducedsize[1]ddrayne
 
My first power point
My first power pointMy first power point
My first power pointevargas2010
 
St patrick's gac juvenile presentation nov10 reducedsize[1]
St  patrick's gac juvenile presentation nov10 reducedsize[1]St  patrick's gac juvenile presentation nov10 reducedsize[1]
St patrick's gac juvenile presentation nov10 reducedsize[1]ddrayne
 

Viewers also liked (15)

Crossss eshops-310313-short
Crossss eshops-310313-shortCrossss eshops-310313-short
Crossss eshops-310313-short
 
Jamestown, 1607
Jamestown, 1607Jamestown, 1607
Jamestown, 1607
 
Trabajo sociales.
Trabajo sociales.Trabajo sociales.
Trabajo sociales.
 
Data and information
Data and informationData and information
Data and information
 
專題報告
專題報告專題報告
專題報告
 
Anatomy Lab (1)
Anatomy Lab (1)Anatomy Lab (1)
Anatomy Lab (1)
 
Persediaan mengajar 1 hht, bab 11.
Persediaan mengajar 1 hht, bab 11.Persediaan mengajar 1 hht, bab 11.
Persediaan mengajar 1 hht, bab 11.
 
St patrick's gac juvenile presentation nov10 reducedsize[1]
St  patrick's gac juvenile presentation nov10 reducedsize[1]St  patrick's gac juvenile presentation nov10 reducedsize[1]
St patrick's gac juvenile presentation nov10 reducedsize[1]
 
The cult of kim jong
The cult of kim jongThe cult of kim jong
The cult of kim jong
 
Saturno
SaturnoSaturno
Saturno
 
Using Symbols
Using SymbolsUsing Symbols
Using Symbols
 
My first power point
My first power pointMy first power point
My first power point
 
St patrick's gac juvenile presentation nov10 reducedsize[1]
St  patrick's gac juvenile presentation nov10 reducedsize[1]St  patrick's gac juvenile presentation nov10 reducedsize[1]
St patrick's gac juvenile presentation nov10 reducedsize[1]
 
Breakeven
BreakevenBreakeven
Breakeven
 
Cómo crear un blog
Cómo crear un blogCómo crear un blog
Cómo crear un blog
 

Similar to oopnew

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นPp'dan Phuengkun
 
บทที่6 คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
บทที่6 คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นบทที่6 คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
บทที่6 คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นPat Sirikan Bungkaew
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอมPassawan' Koohar
 
การเขียนโปรแกรมบนเว็บ
การเขียนโปรแกรมบนเว็บการเขียนโปรแกรมบนเว็บ
การเขียนโปรแกรมบนเว็บKhon Kaen University
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น Ja Phenpitcha
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1Ja Phenpitcha
 

Similar to oopnew (10)

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
Software
SoftwareSoftware
Software
 
บทที่6 คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
บทที่6 คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นบทที่6 คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
บทที่6 คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 
Software
SoftwareSoftware
Software
 
วงจรการพัฒนาโปรแกรม
วงจรการพัฒนาโปรแกรมวงจรการพัฒนาโปรแกรม
วงจรการพัฒนาโปรแกรม
 
การเขียนโปรแกรมบนเว็บ
การเขียนโปรแกรมบนเว็บการเขียนโปรแกรมบนเว็บ
การเขียนโปรแกรมบนเว็บ
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
 
Object-Oriented Programming
Object-Oriented ProgrammingObject-Oriented Programming
Object-Oriented Programming
 

oopnew

  • 2. TOPICTOPIC  ความหมายของความหมายของ OOPOOP  Primitive & Reference TypePrimitive & Reference Type  Scope of variableScope of variable  Class & ObjectClass & Object  Object ConceptObject Concept  Access ModifierAccess Modifier  UML Class DiagramUML Class Diagram
  • 3. ความหมายของความหมายของ OOPOOP OOPOOP คือสไตล์การเขียนโปรแกรมคือสไตล์การเขียนโปรแกรม(Paradigm)(Paradigm) ฉะนั้นหากผู้ผลิตซอฟแวร์ที่มีความคิดแบบฉะนั้นหากผู้ผลิตซอฟแวร์ที่มีความคิดแบบ non-non-OOPOOP จะเลือกผลิตซอฟแวร์ด้วยภาษาที่สนับสนุนจะเลือกผลิตซอฟแวร์ด้วยภาษาที่สนับสนุน OOPOOP แค่ไหนแค่ไหน ผลลัพธ์ที่ได้ก้อคือ ซอฟแวร์ที่ไม่เป็นผลลัพธ์ที่ได้ก้อคือ ซอฟแวร์ที่ไม่เป็น OOPOOP ผู้ผลิตซอฟแวร์ไม่จำาเป็นต้องผลิตซอฟแวร์ที่เป็นไปตามผู้ผลิตซอฟแวร์ไม่จำาเป็นต้องผลิตซอฟแวร์ที่เป็นไปตาม แนวคิดแบบแนวคิดแบบ OOPOOP แต่เมื่อได้ รับรู้ถึงประโยชน์ของการผลิตซอฟแวร์ตามแต่เมื่อได้ รับรู้ถึงประโยชน์ของการผลิตซอฟแวร์ตาม แนวคิดแนวคิดOOPOOPแล้วแล้ว แน่ใจหรือแน่ใจหรือ ?? ที่จะไม่ผลิตซอฟแวร์ตามแนวคิดที่จะไม่ผลิตซอฟแวร์ตามแนวคิดOOPOOP
  • 4. PrimitivePrimitive && ReferenceReference TypeType PrimitivePrimitive TypeType คือคือ TypeType ที่มีอยู่ก่อนแล้วที่มีอยู่ก่อนแล้ว เช่นเช่น int , float ,doubleint , float ,double แต่บางครั้งแต่บางครั้ง TypeType เหล่านี้ก้อตอบสนองความต้องการเหล่านี้ก้อตอบสนองความต้องการ ของเราไม่ได้ของเราไม่ได้ เราจึงจำาเป็นต้องสร้างเราจึงจำาเป็นต้องสร้างTypeTypeขึ้นมาเองขึ้นมาเองUUser-ser- DDefineefineTType(ype(UDTUDT)) ซึ่งซึ่ง TypeType เหล่านี้ มีลักษณะเป็นเหล่านี้ มีลักษณะเป็น ReferenceReference TypeType
  • 5. ตัวอย่างของตัวอย่างของ PrimitivePrimitive && ReferenceReference TypeType Primitive TypePrimitive Type Primitive TypePrimitive Type CodeCode int a = 5;int a = 5; a = 5a = 5 int b = 10;int b = 10; b = 10b = 10 a = b;a = b; a = 10a = 10 MemoryMemory ReferenceReference TypeType CodeCode Circle a = new Circle(5);Circle a = new Circle(5); ReferenceReference TypeType MemoryMemory a 5 Circle b = new Circle(20);Circle b = new Circle(20); b 20 a = b;a = b;
  • 6. Scope of variableScope of variable Scope of variableScope of variable หรือขอบเขตของ ตัวแปรหรือขอบเขตของ ตัวแปร ตัวแปรโดยส่วนมากแล้วจะมีขอบเขตเป็นตัวแปรโดยส่วนมากแล้วจะมีขอบเขตเป็น Global variableGlobal variable และและ Local variableLocal variable Global variableGlobal variable คือตัวแปรที่สามารถเข้าถึงได้คือตัวแปรที่สามารถเข้าถึงได้ จากทั้งจากทั้ง ClassClass Local variableLocal variable คือตัวแปรที่เข้าถึงได้เฉพาะในคือตัวแปรที่เข้าถึงได้เฉพาะใน MethodMethod
  • 7. What is Global and Local variableWhat is Global and Local variable listlist namename langslangs myArraymyArray
  • 8. ClassClass && ObjectObject ClassClass คือคือ codecode ที่เขียนขึ้นเพื่อเป็นเบ้าหลอมที่เขียนขึ้นเพื่อเป็นเบ้าหลอม ObjectObject ถ้าเราเปรียบถ้าเราเปรียบ ClassClass ให้เหมือนกับพิมเขียวให้เหมือนกับพิมเขียว ObjectObject ก้อคือวัตถุที่ถูกสร้างขึ้นก้อคือวัตถุที่ถูกสร้างขึ้น ซึ่งวัตถุถูกสร้างได้หลายชิ้นจากพิมเขียวเดียวซึ่งวัตถุถูกสร้างได้หลายชิ้นจากพิมเขียวเดียว เช่นกันเช่นกัน ClassClass ก้อสามารถสร้างก้อสามารถสร้าง ObjectObject ได้ได้ หลายหลาย ObjectObject
  • 9. ตัวอย่างของตัวอย่างของ ClassClass && ObjectObject Class Object Object Object Object ที่ถูกสร้างขึ้นจาก Class เดียวกันไม่จำาเป็นต้องมีลักษณะเหมือนกัน
  • 11. StateState StateState หรือหรือ attributeattribute คือคุณลักษณะ หรือ สถานะของคือคุณลักษณะ หรือ สถานะของ ObjectObject ต่างๆต่างๆ มักอยู่ในรูปของตัวแปรชนิดมักอยู่ในรูปของตัวแปรชนิด Global variableGlobal variable เช่นเช่น ObjectObject รถยนต์ มีรถยนต์ มี statestate เป็นสีฟ้าเป็นสีฟ้า **Object หนึ่งสามารถมี State หรือ attribute หลายชนิดเช Car มี color,velocity,acceleration เป็น State
  • 12. BehaviorBehavior BehaviorBehavior หรือหรือ MethodMethod เป็นความสามารถที่เป็นความสามารถที่ ObjectObject มี เช่นมี เช่น รถยนต์มีรถยนต์มี MethodMethod Drive(),Brake(),turnLeft(),turnRight()Drive(),Brake(),turnLeft(),turnRight() หมายความว่า รถยนต์ สามารถที่จะ ขับหมายความว่า รถยนต์ สามารถที่จะ ขับ,,เบรคเบรค,,เลี้ยวเลี้ยว ซ้ายซ้าย,,เลี้ยวขวาได้เลี้ยวขวาได้
  • 13. Behavior(Part 2)Behavior(Part 2) MethodMethod แบ่งออกได้แบ่งออกได้ 33 ประเภทประเภท 1.Constructor1.Constructor 2.Accessor2.Accessor 3.Mutator3.Mutator
  • 14. ConstructorConstructor ConstructorConstructor คือคือ MethodMethod ที่ทำำกำรสร้ำง หรือกำำหนดค่ำเริ่มต้นให้ที่ทำำกำรสร้ำง หรือกำำหนดค่ำเริ่มต้นให้ ObjectObject นั้นๆนั้นๆ ลักษณะของลักษณะของ Method ConstructorMethod Constructor ที่สังเกตได้ชัดเจนคือที่สังเกตได้ชัดเจนคือ ชื่อชื่อ MethodMethod จะตรงกับชื่อของจะตรงกับชื่อของ ClassClass นั้นๆ และ จะไม่มีนั้นๆ และ จะไม่มี return Typereturn Type เช่นเช่น public Person(string name,string phone){public Person(string name,string phone){ this.name = name;this.name = name; this.phone = phone;this.phone = phone; }} Class PersonClass Person Class MainClass Main public static void Main(){public static void Main(){ Person p1 = new Person(“Exceed”,”026405678”);Person p1 = new Person(“Exceed”,”026405678”); }} จำกตัวอย่ำงนี้ p1 จะมี name เป็น “Exceed” และ phone เป็น “026405678”
  • 15. AccessorAccessor AccessorAccessor คือคือ MethodMethod ที่ทำำหน้ำที่ในกำรที่ทำำหน้ำที่ในกำร returnreturn ค่ำต่ำงๆค่ำต่ำงๆ มักจะตั้งชื่อโดยใช้คำำว่ำมักจะตั้งชื่อโดยใช้คำำว่ำ getget เช่นเช่น getName(),getPrice(),getColor()getName(),getPrice(),getColor()
  • 16. MutatorMutator MutatorMutator คือคือ MethodMethod ที่ทำำหน้ำที่ในกำรเปลี่ยนแปลงค่ำของที่ทำำหน้ำที่ในกำรเปลี่ยนแปลงค่ำของ StateState หรือหรือ attributeattribute มักจะตั้งชื่อมักจะตั้งชื่อ MethodMethod โดยใช้คำำว่ำโดยใช้คำำว่ำ setset เช่นเช่น setName(),setPrice()setName(),setPrice()
  • 17. IdentityIdentity IdentityIdentity หมำยถึง กำรที่หมำยถึง กำรที่ ObjectObject ต่ำงๆมีต่ำงๆมี เอกลักษณ์เอกลักษณ์ แม้แม้ ObjectObject นั้นๆ จะถูกสร้ำงจำกนั้นๆ จะถูกสร้ำงจำก classclass เดียวกันเดียวกัน Class Object Object Color = silver Price = 10,000,000 Color = silver Price = 10,000,000 ID = กข1234 ID = งจ1919
  • 18. Access ModifierAccess Modifier คือกำรเข้ำถึงข้อมูล ทั้งคือกำรเข้ำถึงข้อมูล ทั้ง StateState และและ BehaviorBehavior  PublicPublic คือกำรเข้ำถึงข้อมูล ได้จำกทุกคือกำรเข้ำถึงข้อมูล ได้จำกทุก ClassClass  PrivatePrivate คือกำรยอมให้เข้ำถึงข้อมูลเฉพำะภำยในคือกำรยอมให้เข้ำถึงข้อมูลเฉพำะภำยใน ClassClass เท่ำนั้นเท่ำนั้น
  • 19. What is state or behavior ?What is state or behavior ? State Behavior
  • 20. UML Class DiagramUML Class Diagram UMLUML ((UUnifiednified MModelingodeling LLanguageanguage)) เมื่อกล่าวถึงเมื่อกล่าวถึง OOPOOP ก้อมีความจำาเป็นที่จะต้องกล่าวถึงก้อมีความจำาเป็นที่จะต้องกล่าวถึง UMLUML เนื่องจากเนื่องจาก UMLUML สามารถแสดงส่วนประกอบ ในการสร้างโปรเจคสามารถแสดงส่วนประกอบ ในการสร้างโปรเจค ในรูปของในรูปของ OOPOOP และเป็นการช่วยให้ทีมเข้าใจการแบ่งงาน หรืองานที่ได้รับมอบและเป็นการช่วยให้ทีมเข้าใจการแบ่งงาน หรืองานที่ได้รับมอบ หมายได้ง่ายขึ้นหมายได้ง่ายขึ้น
  • 21. UML Class Diagram ExampleUML Class Diagram Example CarCar -name:string-name:string -price:int-price:int -color:string-color:string +Car(string:name,int:price,string:color)+Car(string:name,int:price,string:color) ++getName():stringgetName():string +getPrice():int+getPrice():int +getColor():string+getColor():string /* Class Name State Behavior + public - private */
  • 22. Class Diagram Example(2)Class Diagram Example(2)