OOP in PHP ตอนท
OOP in PHP ตอนท 11
สวสด
สวสดครบ ในบทความนเราจะกลาวถงการนครบ ในบทความนเราจะกลาวถงการนาเอาภาษาโปรแกรมาเอาภาษาโปรแกรม PHPPHPมาเขยนในร#ปแบบของมาเขยนในร#ปแบบของ Object OrientedObject Oriented Programming Programming โดยในบทความนเราจะไมกลาวถงพ&นฐานของภาษา PHPมากนก โดยบทความนจะเหมาะกบผ#, โดยในบทความนเราจะไมกลาวถงพ&นฐานของภาษา PHPมากนก โดยบทความนจะเหมาะกบผ#,ท-ท-เขยนและใช,ภาษาโปรแกรม PHPมาบ,างแล,ว โดยถ,าใช,อย#ในระดบการใช, Functionมากอนนาจะชวยทาให,เข,าใจ เขยนและใช,ภาษาโปรแกรม PHPมาบ,างแล,ว โดยถ,าใช,อย#ในระดบการใช, Functionมากอนนาจะชวยทาให,เข,าใจ และท และทาให,าให,เห6เห6นภาพได,นภาพได,มากขมากข นครนครบบ
มาสร
มาสรางโลกน
างโลกนอยๆในการเข
อยๆในการเขยนโปรแกรมก*
ยนโปรแกรมก*นด
นดกว-
กว-าา
กอนอ&-นเราต,องปรบความค8ดในการเขยน PHPจากการเขยนแบบลาดบขนจากบนลงลาง (Structuralหร&อ กอนอ&-นเราต,องปรบความค8ดในการเขยน PHPจากการเขยนแบบลาดบขนจากบนลงลาง (Structuralหร&อ ProceduralProgramming)มาเปCProceduralProgramming)มาเปCนการเขนการเขยนแบบเช8ยนแบบเช8งวงวตถDตถD (ObjectOrientedProgramming)เส(ObjectOrientedProgramming)เสยกยกอนอน โดยการเขยนโปรแกรมเช8งวตถD
โดยการเขยนโปรแกรมเช8งวตถD นนน น เปCนการเขยนโปรแกรมให,เปCนการเขยนโปรแกรมให,เข,าใกเข,าใกล,การดาเน8นไปตามสภาพแวดล,อมท-เปCนจล,การดาเน8นไปตามสภาพแวดล,อมท-เปCนจร8งร8ง ของโลกเรา กลาวค&อ เรามองทDกอยางในการเข
ของโลกเรา กลาวค&อ เรามองทDกอยางในการเขยนโปรแกรมเปCยนโปรแกรมเปCนด-งการดารงอย#ของส8-งตนด-งการดารงอย#ของส8-งตาง ๆ บนโลกนาง ๆ บนโลกนนนเอง โดยทDกนนเอง โดยทDก ๆ
ส8-ๆ ส8-งบนโลกนงบนโลกนมกเก8ดจากแมแบบ (มกเก8ดจากแมแบบ (ClassClass)แทบทงส8น ซ-งแมแบบเหลาน)แทบทงส8น ซ-งแมแบบเหลานนนจะมนนจะมส8-งทส8-งท - -จาเปCนอย# 2สวนค&อ คDณสมบจาเปCนอย# 2สวนค&อ คDณสมบต8ต8 ((PropertiesProperties)และแบบแผนพฤต8กรรม ()และแบบแผนพฤต8กรรม (MethodMethod BehaviBehavior or หร7อMethodหร7อMethod)อาจจะมความเหม&อนหร&อตางกนทงใน)อาจจะมความเหม&อนหร&อตางกนทงใน คDคDณสมบณสมบต8ต8และพฤต8และพฤต8กรรม โดยผลของแบบแผนพฤต8กรรม โดยผลของแบบแผนพฤต8กรรมนกรรมนนจะได,นจะได,รบเปCรบเปCนแบบใด ขนแบบใด ข นอย# นอย# กบคDกบคDณสมบณสมบต8ในชวงเวลานต8ในชวงเวลานน น ๆๆ ซซ - -งจะอธ8งจะอธ8บายให,บายให,เห6เห6นภาพชนภาพชดเจนได,ดเจนได,งงายขายข นดนดงตงตวอยวอยางด,างด,านลานลางาง
ผ#ผ# ,เขยนจะขอยกตวอยางท- ,เขยนจะขอยกตวอยางท-งายกอน โดยอยากให,มองถงคาวางายกอน โดยอยากให,มองถงคาวา “มน9ษย;”“มน9ษย;” เปCนแมแบบ ทDก ๆ คนบนโลกนเก8ดจากเปCนแมแบบ ทDก ๆ คนบนโลกนเก8ดจาก แม
แมแบบ (lass)“มนDแบบ (lass)“มนDษยQษยQ” ซ” ซ - -งวงวตถDตถD ((ObjectObject)ท)ท - -เก8เก8ดจากแมดจากแมแบบ โดยคDแบบ โดยคDณสมบณสมบต8ต8 (Properties)ก6(Properties)ก6จะช&จะช& - -อเรอเรยกแตกตยกแตกตางกางกนไปนไป มมความส#ความส#งนงน าหนาหนกเพศ และสกเพศ และสวนประกอบทางรวนประกอบทางรางกายทางกายท - -แตกตแตกตางกน ซางกน ซงส8งส8 - -งเหลงเหลานาน ค&ค&อคDอคDณสมบณสมบต8ต8 (Properties)ของ มนD(Properties)ของ มนD ษยQ
ษยQ” ” โดยจะมพฤต8กรรม โดยจะมพฤต8กรรม (Metho(Method)ทd)ท - -เหม&อน ๆ กนโดยพ&เหม&อน ๆ กนโดยพ& นฐานของ มนDษยQ” ซ นฐานของ มนDษยQ” ซ -งได,แก การก8นนอนหลบว8 -งได,แก การก8นนอนหลบว8 -งและเด8น -งและเด8น สองขา ฯลฯ ซ
สองขา ฯลฯ ซ - -งถ&งถ&อเปCอเปCนพฎต8นพฎต8กรรมพ&กรรมพ& นฐานของแมนฐานของแมแบบนแบบน ถ,ถ,าเราเขาเราเขยนเปCยนเปCนภาพให,นภาพให,เห6เห6นชนชดเจนขดเจนข นก6นก6จะได,จะได,ดดงร#งร#ปนปน
ภาพแสดงแม
จากร#ปเราจะเห6นวา
จากร#ปเราจะเห6นวา Obj1Obj1และ และ Obj2Obj2นน นม นมร#ปแบบพฤต8กรรมและคDณสมบร#ปแบบพฤต8กรรมและคDณสมบต8เหม&อนกนแมแบบต8เหม&อนกนแมแบบ มน9ษย;มน9ษย; แตแต คDณสมบ
คDณสมบต8ของทงสองวตถDต8ของทงสองวตถDนนได,ถ#นนได,ถ#กกาหนดตอมาให,กกาหนดตอมาให,แตกตางกแตกตางกน น ทาให,ผลของพฤต8กรรมนทาให,ผลของพฤต8กรรมน นแตกตางกนไปตามข,อม#ล นแตกตางกนไปตามข,อม#ล ของคDณสมบ
ของคDณสมบต8ต8ท-เปล-ยนแปลงไป เชน Obj1นท-เปล-ยนแปลงไป เชน Obj1น นมความส#ง 1ซม.นาหนก 4กก.และเปCนเพศหญ8ง ซ-งม นมความส#ง 1ซม.นาหนก 4กก.และเปCนเพศหญ8ง ซ-งม คDณสมบ
คDณสมบต8แตกตางกบ Obj2ทต8แตกตางกบ Obj2ท - -มความส#ง 179ซม.นมความส#ง 179ซม.น าหนก 5กก.และเปC าหนก 5กก.และเปCนเพศชาย กลาวค&อในสภาวะเปCนจร8งแล,วนเพศชาย กลาวค&อในสภาวะเปCนจร8งแล,ว ความแตกต-างของท*?งของว*ตถ9
ความแตกต-างของท*?งของว*ตถ9ท*?งสองน*?นถAกกาหนดจากค9ณสมบ*ท*?งสองน*?นถAกกาหนดจากค9ณสมบ*ตFซงทาใหการผลของพฤตFกรรมน*?นแตกตFซงทาใหการผลของพฤตFกรรมน*?นแตก ต-ต-างก*างก*นแมนแมจะเกFจะเกFดจากแม-ดจากแม-แบบเดแบบเดยวก*ยวก*บกบกตามตาม
สร9
สร9ปว-ปว-าาแมแมแบบ (lass)มแบบ (lass)มความเปCความเปCนนนามธรรม(bstract)นามธรรม(bstract)และวและวตถDตถD (Object)ม(Object)มความเปCความเปCนนรAรAปธรรม(Concrete)ปธรรม(Concrete) โดยคDณสมบ โดยคDณสมบต8ต8ตาง ๆ ของวตถDตาง ๆ ของวตถDนนต,องมการหอหD,มอย#ภายใน (นนต,องมการหอหD,มอย#ภายใน (EncapsulationEncapsulation )ซ)ซ -งทาให, -งทาให,คDณสมบคDณสมบต8ของข,อม#ลนนต8ของข,อม#ลนน ถ#กต,องเสมอ โดยจากตวอยางท-แล,วนนในกรณของคDณสมบ ถ#กต,องเสมอ โดยจากตวอยางท-แล,วนนในกรณของคDณสมบต8ของเพต8ของเพศนศนน จะต,องอย#น จะต,องอย#ภายใต,ภายใต,เง&-อนไขของเพศชาย แลเง&-อนไขของเพศชาย และะ หญ8 หญ8งเทานน จงจาเปCนต,องมงเทานน จงจาเปCนต,องมตวควบคDมคDณสมบตวควบคDมคDณสมบต8 หร&ต8 หร&อแบบแผนพฤต8กรรมเข,ามาเก-ยวข,อแบบแผนพฤต8กรรมเข,ามาเก-ยวข,องซ-งจะได,กองซ-งจะได,กลาวตอไป ลาวตอไป โดยโดย ความถ#กต,องของข,อม# ความถ#กต,องของข,อม#ลภายในนนสาคญมาก เพราะน-นหมายถงการแสดงคDณสมบลภายในนนสาคญมาก เพราะน-นหมายถงการแสดงคDณสมบต8ต8ท-ท-ถ#กต,องของวตถDถ#กต,องของวตถDนนๆ ด,วย รวมนนๆ ด,วย รวม ถงถ, ถงถ,าเรามองในด,านการเขยนโปรแกรมแล,ว าเรามองในด,านการเขยนโปรแกรมแล,ว การหการหอหD,มภายในนนชวยให,การด#แลรกษาและพฒนาชDดคาส-งนนทาได,อหD,มภายในนนชวยให,การด#แลรกษาและพฒนาชDดคาส-งนนทาได, งายข งายขน เพราะชDดคาส-น เพราะชDดคาส-งได,งได,ถ#กแยกออกเปCนสวน ๆ ถ#กแยกออกเปCนสวน ๆ และยและยงบอกถงพฤต8กรรมของส8-งท-งบอกถงพฤต8กรรมของส8-งท-หอหD,มด,วยวาควรเปCนพฤต8กรรมหอหD,มด,วยวาควรเปCนพฤต8กรรม อะไร และเม& อะไร และเม& - -อเราพบพฤต8อเราพบพฤต8กรรมนกรรมน น ๆ แล,น ๆ แล,วผลของพฤต8วผลของพฤต8กรรมนกรรมน นจะให,นจะให,ข,ข,อม#อม#ลและผลการทลและผลการทางานออกมาเปCางานออกมาเปCนอะไรด,นอะไรด,วยวย ภาพแสดงการห ภาพแสดงการหอหDอหD , ,มภายในคDมภายในคDณสมบณสมบต8ต8 คDณสมบ
คDณสมบต8ต8ท-ท-ทาให,ทาให,การเขยนโปรแกรมเช8งวตถDการเขยนโปรแกรมเช8งวตถDนนได,นนได,รบความน8รบความน8ยมมาก ค&อการส&บทอด (ยมมาก ค&อการส&บทอด (InheritanceInheritance)ของแมแบบ)ของแมแบบ (lass)ท
(lass)ท - -ททาให,าให,ล#กแบบ (ล#กแบบ (SubClassSubClass)น)น นมความเฉพาะเจาะจงมากขนไปอกไปอก นมความเฉพาะเจาะจงมากขนไปอกไปอก และยและยงชวยให,การสร,งชวยให,การสร,างสรรคQงานางสรรคQงาน นน นทาได, นทาได,งายเพราะเราไมงายเพราะเราไมจาเปCนต,องเขยนโปรแกรมหลาย ๆ อยางซา ๆ กนในแมแบบท-จาเปCนต,องเขยนโปรแกรมหลาย ๆ อยางซา ๆ กนในแมแบบท-มมคDณสมบคDณสมบต8เหม&อน ๆ กนต8เหม&อน ๆ กน เชนแมแบบ ยานพาหนะ” ม เชนแมแบบ ยานพาหนะ” มล#กแบบ ช&-อได,แก รถยนตQรถจกรยานยนตQ และจกรยาน เปCนต,น ซ-งทง 3ล#กแบบท-ล#กแบบ ช&-อได,แก รถยนตQรถจกรยานยนตQ และจกรยาน เปCนต,น ซ-งทง 3ล#กแบบท-กลาวมานนม กลาวมานนมคDณสมบคDณสมบต8บางอยางท-เหม&อนกนจนได,เปCนยานพาหนะ เชนความส#งความกว,าง และความเร6วในการต8บางอยางท-เหม&อนกนจนได,เปCนยานพาหนะ เชนความส#งความกว,าง และความเร6วในการ เคล& เคล& -อนท- -อนท-เปCเปCนต,น ซนต,น ซ -งการแบ -งการแบงเปCนล#กแบบนงเปCนล#กแบบน ทาให,ทาให,ความเฉพาะเจาะจงของล#กแบบมมากขนทความเฉพาะเจาะจงของล#กแบบมมากขนท าให,าให,การสร,างวตถDการสร,างวตถD ใด ๆ จาก ใด ๆ จาก ล#กแบบเหลาน ล#กแบบเหลาน นนนมนมคDณสมบคDณสมบต8ต8ท-เท-ยงตรงตอการแสดงพฤต8กรรมได,มากขนด,วย และลดการซบซ,อนของโครงสร,างแมท-เท-ยงตรงตอการแสดงพฤต8กรรมได,มากขนด,วย และลดการซบซ,อนของโครงสร,างแม แบบลงได, แบบลงได,มาก เพราะได,มาก เพราะได,ถ#ถ#กกกกาหนดคDาหนดคDณสมบณสมบต8ต8หลหลก ๆ ไว,ก ๆ ไว,แล,แล,วในแมวในแมแบบ ทแบบ ทาให,าให,ล#กแบบมล#กแบบมความซความซบซ,บซ,อนน,อนน,อยลงอยลง การส&
ในการส
ในการสงข,อม#ลระหวางวตถDงข,อม#ลระหวางวตถDนนเราเรยกวาการสงข,อความ (Messaging)ซนนเราเรยกวาการสงข,อความ (Messaging)ซ -งข,อความ (Message)น -งข,อความ (Message)น นจะถ#กสงผานนจะถ#กสงผาน แบบแผนพฤต8กรรม
แบบแผนพฤต8กรรม (Meth(Method)เพ&-อตรวจสอบความถod)เพ&-อตรวจสอบความถ#กต,#กต,องของข,องของข,อความท-อความท-จะเข,าหร&จะเข,าหร&อออกจากวตถD (Object)กอออกจากวตถD (Object)กอนท-จะอนท-จะ ทาการประมวลข,อความนนเพ&-อแก,ไขข,อม#ลหร&อคDณสมบ
ทาการประมวลข,อความนนเพ&-อแก,ไขข,อม#ลหร&อคDณสมบต8 ต8 (Prop(Propertieerties)ภายในวs)ภายในวตถD ซ-งกตถD ซ-งการตรวจสารตรวจสอบนอบนเปCนไปตาเปCนไปตามม หลกการหอหD หลกการหอหD ,มข, ,มข,อม#ลภายใน เพ&อม#ลภายใน เพ& -อปองกนไม -อปองกนไม ให, ให,วตถDวตถDทางานผ8ดไปจากพฤต8กรรมท-ทางานผ8ดไปจากพฤต8กรรมท-กาหนด โดยขอยกตวอยาง ทกาหนด โดยขอยกตวอยาง ท -เข,าใกล, -เข,าใกล, กกบชบชว8ว8ตประจาวน โดยเรามนาย ก.และนาย ข.ซตประจาวน โดยเรามนาย ก.และนาย ข.ซ - -งเก8ดจากแมแบบ มนDษยQ ซ-งนาย ก.ได,งเก8ดจากแมแบบ มนDษยQ ซ-งนาย ก.ได,ทาการถาม อายDนาย ข.โดยทาการถาม อายDนาย ข.โดย ทท -นาย ข.น -นาย ข.น นจะตอบอายDกลบไปก6ได,หร&อไม ขนอย# นจะตอบอายDกลบไปก6ได,หร&อไม ขนอย#กบคDณสมบกบคDณสมบต8บางประการของวตถDต8บางประการของวตถDนน ๆ เชนเพศ เปCนต,น โดยท-นน ๆ เชนเพศ เปCนต,น โดยท-นายข. เปXนเพศชาย นายข. เปXนเพศชาย อาจจะตอบกลบไปในทนทอาจจะตอบกลบไปในทนท แต-ในกรณแต-ในกรณทเปXนเพศหญFงทเปXนเพศหญFงอาจจะไมอาจจะไมตอบกลบข,อความนกลบไปตอบกลบข,อความนกลบไป ซซ - -งจากตวอยงจากตวอยางดางดงกลาวจะเห6นได,งกลาวจะเห6นได,วาการสงข,อความไป และกลวาการสงข,อความไป และกลบนบน นจะได,ผลตอบรบอยนจะได,ผลตอบรบอยางไรนน ขางไรนน ข นอย# นอย# กกบคDณสมบบคDณสมบต8 ณ.ต8 ณ. เวลาใดเวลาหน-เวลาใดเวลาหน-งของวตถDในเวลานงของวตถDในเวลานน ๆ และวตถDน ๆ และวตถDแตแตละวละวตถDตถDนน นจะมนจะมความเปCนอ8ความเปCนอ8สระกสระกนของคDณสมบนของคDณสมบต8 เต8 เหม&อนดหม&อนดงตงตวอยางวอยาง ทท - - นาย ก.และนาย ข.ไมนาย ก.และนาย ข.ไม ได, ได,เปCเปCนคนเดนคนเดยวกยวกนนนน นเองนเอง โดยยงม โดยยงมคDณสมบคDณสมบต8การกระทต8การกระทาหลายร#ปแบบ าหลายร#ปแบบ ((PolymorphismPolymorphism)ซ)ซ -งจะไมขอผ#, -งจะไมขอผ#,ถงในตอนน เพราะอาจทาถงในตอนน เพราะอาจทาให,งงได, ให,งงได, ผ#,ผ#, เข เขยนจะขอพ#ยนจะขอพ#ดถดถงในระดงในระดบทบท - -ส#ส#งตงตอไปอไป จากท-เราได, จากท-เราได,ศกษาจากข,อม#ลด,านบนนนเราได,สรDปสวนท-ศกษาจากข,อม#ลด,านบนนนเราได,สรDปสวนท-สาคญในการพฒนาของ ObjectOrientedProgrammingสาคญในการพฒนาของ ObjectOrientedProgramming ไว, ไว,ดดงตงตอไปนอไปน ● ●
แม
แมแบบ (lass)
แบบ (lass)
● ●ล#ล#กแบบ (Sublass)
กแบบ (Sublass)
● ●ววตถD
ตถD (Object)
(Object)
● ●การส
การสงข,
งข,อความ (Messaging)
อความ (Messaging)
● ●ข,ข,อความ (Message)
อความ (Message)
● ●การห
การหอหD
อหD , ,มข,
มข,อม#ล(Encapsulation)
อม#ล(Encapsulation)
●●
การส&
การส&บทอด (Inheritance)
บทอด (Inheritance)
● ●การท
การทาหลายร#
าหลายร#ปแบบ (Polymorphism)
ปแบบ (Polymorphism)
● ●คDคDณสมบ
ณสมบต8 (Properties)
ต8 (Properties)
● ●แบบแผนพฤต8
แบบแผนพฤต8กรรม (MethodBehavior)
กรรม (MethodBehavior)
“สว*
“สว*สด
สดชาวโลก”ก*
ชาวโลก”ก*บPHP บนโลกแห-
บPHP บนโลกแห-งความจรF
งความจรFงง
ในบทความนทางผ#,เขยนจะอ,างอ8งกบ PHPVersion4กอน เพราะม ในบทความนทางผ#,เขยนจะอ,างอ8งกบ PHPVersion4กอน เพราะมข,อกาหนดท-ไมข,อกาหนดท-ไมยDงยาก และเหมาะแกการนามาศกษายDงยาก และเหมาะแกการนามาศกษา มากกว มากกวา PHPVersion5า PHPVersion5 โดยในการเขยนแบบโปรแกรมเช8งว โดยในการเขยนแบบโปรแกรมเช8งวตถDใน ตถDใน PHPนPHPน นไมยาก โดยคาท-ใช,เปCนคาหลก (Keyword)ในการเขยนได,แก นไมยาก โดยคาท-ใช,เปCนคาหลก (Keyword)ในการเขยนได,แก class, function, thisclass, function, this และและ parentparentเปCเปCนต,นต,นน จากต
จากตวอยวอยางในชางในชวงแรกผ#วงแรกผ# , ,เขเขยนจะสร,ยนจะสร,าง แมาง แมแบบ (lass)แบบ (lass)humanhumanขข นมากนมากอน โดยว8อน โดยว8ธธการสร,การสร,างแมางแมแบบใน PHPมแบบใน PHPมดดงนงน
<? <? php php class
class classnameclassname {{ } } ?> ?> ร#ร#ปแบบคปแบบคาส-าส-งทงท - - 11 1.ค
1.คาหลาหลกทกท - -เราจะใช,เราจะใช,นน นค&นค&ออ classclass
2.หล
2.หลงคงคาหลาหลกก classclass ตามด,ตามด,วยช&วยช& - -อแมอแมแบบ (แบบ (classnameclassname))
3.เป
3.เปดและปดและปดด,ดด,วยเคร&วยเคร& - -องหมายปองหมายปกกา เพ&กกา เพ& - -อกอกาหนดชาหนดชวงวง การเข
เม&-เม&-อเราร#อเราร# , ,ร#ร#ปแบบการสร,ปแบบการสร,างแมางแมแบบแล,แบบแล,ว เราจะมาสร,ว เราจะมาสร,างแมางแมแบบเพ&แบบเพ& - -อใช,อใช,งานจร8งานจร8งกงกนเลยนเลย
<? <? php php class
class humanhuman {{ } } ?> ?> ชDชDดคดคาสาส - -งทงท - - 11 จากชD
จากชDดคดคาสาส - -ง (ง (Source CodeSource Code)ท)ท - - 1น1น เปCเปCนเพนเพยงการประกาศแมแบบเทยงการประกาศแมแบบเทานาน น ซน ซ - -งไมงไมสามารถทสามารถทางานได,างานได,
<? <? php php class
class humanhuman {{ function
function TalkTalk(){(){ echo
echo “Hello World”;“Hello World”; } } } } ?> ?> ชDชDดคดคาสาส - -งทงท - - 22 ทาให,เก8 ทาให,เก8ดชDดชDดคาสดคาส-งท- -งท- 2ซ-งเราได,2ซ-งเราได,เพ8-มพฤต8กรรม เพ8-มพฤต8กรรม (Metho(Method)ลงไป d)ลงไป โดยผมขอยกตโดยผมขอยกตวอยางวาให,วอยางวาให,วตถDใด ๆ ท-สร,างจากวตถDใด ๆ ท-สร,างจาก แมแบบ humanน
แมแบบ humanน นสามารถพ8มพQ นสามารถพ8มพQคาวา คาวา HelloWorHelloWorldออกมาได,โดยใช,ldออกมาได,โดยใช,ผานพฤต8กรรมท-ผานพฤต8กรรมท-ช&-อวา ช&-อวา TalkมาเปCนหTalkมาเปCนหวข,อวข,อ ตตวอยาง โดยการเขยนพฤต8กรรมในแมแบบนนก6เขยนร#ปแบบเดยวกบฟxงกQวอยาง โดยการเขยนพฤต8กรรมในแมแบบนนก6เขยนร#ปแบบเดยวกบฟxงกQชชนทนท-ว -ว ๆ ไๆ ไปท-เราคD,นเคยกนใน PHPแบบปท-เราคD,นเคยกนใน PHPแบบ เด8ม ๆ น-นเอง โดยใช,
เด8ม ๆ น-นเอง โดยใช,คาหลกค&อคาหลกค&อ functionfunction และตามด,วยช&และตามด,วยช& -อพฤต8กรรม ซ-งการประกาศ -อพฤต8กรรม ซ-งการประกาศ functifunctionในแมonในแมแบบนแบบนก6เหม&อนก6เหม&อน
กบ functionโดยท-วไปนนเอง โดยจากตวอยางชDดคาส-งท- 2น
กบ functionโดยท-วไปนนเอง โดยจากตวอยางชDดคาส-งท- 2น เราจะสร,างวตถDจากแมแบบท- เราจะสร,างวตถDจากแมแบบท- เขยนขนมาทางาน โดยเขยนขนมาทางาน โดย ใช,
ใช,คคาหลกาหลก new new โดยร# โดยร#ปแบบการสร,ปแบบการสร,างวางวตถDตถDขข นมานนมาน นมนมดดงนงน
$objectname
$objectname == new new classname();classname();
ร#ร#ปแบบคปแบบคาส-าส-งทงท - - 22 จากร#ปแบบคาส-งท- 2น
จากร#ปแบบคาส-งท- 2น จะเห6นร#ปแบบการสร,างวตถDโดยท- จะเห6นร#ปแบบการสร,างวตถDโดยท- $objectname$objectnameนน เปC เปCนช&-นช&-อของอของช7ช7 ออางอFงว*ตถ9 ออางอFงว*ตถ9 หร&อเรยกหร&อเรยก
วา วาต*วแปรอางอFงต*วแปรอางอFงก6ได, โดยท-ก6ได, โดยท-ตวแปรนจะไปอ,างอ8งกบวตถDตวแปรนจะไปอ,างอ8งกบวตถDท-เราสร,างขนในหนวยความจาอกท โดยหลกการตงช&-อตวท-เราสร,างขนในหนวยความจาอกท โดยหลกการตงช&-อตว แปรอ, แปรอ,างอ8างอ8งกงกบวบวตถDตถDนน นจะเหม&นจะเหม&อนกอนกบตวแปรทบตวแปรท - -วไปทDวไปทDกประการกประการ <?php <?php class
class humanhuman {{ function
function TalkTalk(){(){ echo
echo “Hello World”;“Hello World”; }
} }
}
$somsak =
$somsak = newnew human();human(); $somsak->Talk(); $somsak->Talk(); ?> ?> ชDชDดคดคาสาส - -งทงท - - 33 โดยจากชDดคาส-งท
โดยจากชDดคาส-งท - 3 เราจะได, - 3 เราจะได,วตถDวตถDท-ท-มมตวแปรอ,างอ8งทตวแปรอ,างอ8งท - -ช&-อวา ช&-อวา somsaksomsakเม&-เม&-อเรามาด#อเรามาด#ตวอยางความสมพนธQตวอยางความสมพนธQระหวระหวางาง แม
ภาพแสดงความส
ภาพแสดงความสมพมพนธQนธQทท - - 11 จากภาพแสดงความสมพนธQ
จากภาพแสดงความสมพนธQท- 1นท- 1น จะเห6นวาม จะเห6นวามวตถDอย# 1วตถDอย#ในหนวยความจวตถDอย# 1วตถDอย#ในหนวยความจาโดยมาโดยมตวแปรอ,างอ8งกบวตถDตวแปรอ,างอ8งกบวตถDนนช&-อช&-อ วา somsakอกท
โดยท-วา somsakอกท โดยท-วตถDวตถDนเก8ดจากแมแบบ humanนนเก8ดจากแมแบบ humanน นเอง ซ-งจากชDดคาส-งส-งดงกลาวนนก6 นเอง ซ-งจากชDดคาส-งส-งดงกลาวนนก6มการให,มการให,พ8มพQพ8มพQคาวาคาวา HelloWorld ออกมา ด HelloWorld ออกมา ดง ผลดง ผลดงผลการทงผลการทางานของชDางานของชDดคดคาสาส - -งท- 3งท- 3 Hello World Hello World ผลการท ผลการทางานของชDางานของชDดคดคาสาส - -งทงท - 3 - 3 โดยเราจะส
โดยเราจะสงเกตเห6นเคร&-องหมายงเกตเห6นเคร&-องหมายอางอFงอางอFง -> -> ((Reference/rrow Operator Reference/rrow Operator )ซ)ซ -งเปCนการช -งเปCนการช ไปย ไปยงคDณสมบงคDณสมบต8ภายในต8ภายใน
หร&อเรยกใช,พฤต8กรรมใด ๆ ในวตถD
หร&อเรยกใช,พฤต8กรรมใด ๆ ในวตถDนนน ๆ น ๆ โดยด#ได,จากชDโดยด#ได,จากชDดคาสดคาส-งท- -งท- 3ท3ท - -ตตวแปรอ,างอ8งวตวแปรอ,างอ8งวตถD ถD somsomsakเsakเพ&-อเรยพ&-อเรยกใช,กใช, พฤต8กรรม
พฤต8กรรม TalkTalkขข นมาน- นมาน-นเองซ-งจากชDดคาส-งท- 3นนเองซ-งจากชDดคาส-งท- 3น เราจะมาวาดภาพเปCนแมแบบ และวตถD เราจะมาวาดภาพเปCนแมแบบ และวตถDกน เพ&-อให,เราจะได,เช&-อมกน เพ&-อให,เราจะได,เช&-อม โยงความค8 โยงความค8ดระหวดระหวางชDางชDดคดคาสาส - -งและแนวค8งและแนวค8ดการเขดการเขยนโปรแกรมเช8ยนโปรแกรมเช8งวงวตถDตถD ภาพแสดงความส ภาพแสดงความสมพมพนธQนธQทท - - 22 โดยจากภาพแสดงความสมพนธQ โดยจากภาพแสดงความสมพนธQท- 2นท- 2น เปรยบเทยบกบชDดคาส-งท- 3น เปรยบเทยบกบชDดคาส-งท- 3น นเราจะเห6นวาตวแปรอ,างอ8งวตถD somsak นเราจะเห6นวาตวแปรอ,างอ8งวตถD somsak นน นไปอ,างอ8งกบวตถD นไปอ,างอ8งกบวตถDท-เก8ดจากแมแบบ humanซท-เก8ดจากแมแบบ humanซ -งและเม&-อเก8ดขนมาแล,วนน ตวแปรอ,างอ8งวตถD -งและเม&-อเก8ดขนมาแล,วนน ตวแปรอ,างอ8งวตถDก6ก6ทาการส-งเรยกใช,ทาการส-งเรยกใช, พฤต8กรรม Talkโดยภาพน
พฤต8กรรม Talkโดยภาพนจะเห6นวาวตถDจะเห6นวาวตถDท-ท-ตตวแปรอ,างอ8ง somsakไปอ,วแปรอ,างอ8ง somsakไปอ,างอ8งอย#างอ8งอย# และได, และได,ส-งให,ส-งให,พฤต8กรรม Talkทางานพฤต8กรรม Talkทางาน ขข นโดยพ8นโดยพ8มพQมพQคคาวา HelloWorldออกมาาวา HelloWorldออกมา
มาเรF
มาเรF มเข
มเขยนต*
ยนต*วละครฉบ*
วละครฉบ*บPHP ก*
บPHP ก*นด
นดกว-
กว-าา
จากชDดคาส-งท จากชDดคาส-งท - 13และภาพแสดงความสมพนธQ - 13และภาพแสดงความสมพนธQททงสองร#งสองร#ปท-ได,แสดงไปแล,ปท-ได,แสดงไปแล,วนวนน จะเห6นได,น จะเห6นได,วาเม&-วาเม&-อเราเขยนโปรแกรมอเราเขยนโปรแกรม แบบเช8งวตถD แบบเช8งวตถDก6เหม&อนกบเราเขยนบทละครให,แตละวตถDก6เหม&อนกบเราเขยนบทละครให,แตละวตถDทาส8-งใด ทาส8-งใด ๆ ก6ตๆ ก6ตามท-เราต,ามท-เราต,องการ องการ โดยกาหนดตโดยกาหนดตวแปรอ,างวแปรอ,างอ8งอ8ง หร&หร&อความหมายหน-อความหมายหน-งก6งก6ค&อการสร,างช&ค&อการสร,างช& - -อนอนกแสดงอกแสดงอกทกทหน-หน-งเพ&งเพ& -อง -องายตอการจายตอการจดการคDดการคDณสมบณสมบต8ต8และแสดงพฤต8กรรมให,และแสดงพฤต8กรรมให,ตรงกบตรงกบ วตถD
วตถDนน ๆ โดยตวอยางท-ได,กลาวไปนนอาจจะยงไมเห6นภาพมากนก เรามาด#นน ๆ โดยตวอยางท-ได,กลาวไปนนอาจจะยงไมเห6นภาพมากนก เรามาด#ตอวาเม&-อแมแบบนนมการกาหนดตอวาเม&-อแมแบบนนมการกาหนด คDณสมบ
คDณสมบต8เพ8ต8เพ8 - -มเข,ามาจะทาให,ผลของพฤต8กรรมเปล-มเข,ามาจะทาให,ผลของพฤต8กรรมเปล-ยนไปและแตกตางกยนไปและแตกตางกน น ซ-งเราจะมาด#ซ-งเราจะมาด#ววาทาให,เก8าทาให,เก8ดความแตกตางกนดความแตกตางกน ได,อยางไร โดยเรากาหนดคDณสมบ
ได,อยางไร โดยเรากาหนดคDณสมบต8และพต8และพฤต8กรรมดฤต8กรรมดงตอไปนงตอไปน ช&-อแมแบบค&อช&-อแมแบบค&อ humanhumanโดยท-แมแบบ humanมโดยท-แมแบบ humanม ค9ณสมบ*
ค9ณสมบ*ตF(Properties)ตF(Properties)ค&อค&อช7อ, ความสAง, น?ช7อ, ความสAง, น? าหน*ก, อาย9และเพศ าหน*ก, อาย9และเพศ และมและมพฤตFกรรม(Method)พฤตFกรรม(Method) ค&อค&อ บอกช7อ,บอกช7อ, บอกความสA
เม&-เม&-อได,อได,ร#ร#ปแบบทปแบบท - -ต,ต,องการแล,องการแล,วเราก6วเราก6จะมาเขจะมาเขยนชDยนชDดคดคาสาส - -งกงกนเลยนเลย
<? <? php php class
class human {human { var
var $name = “human”;// default name = “human”$name = “human”;// default name = “human” var
var $sex $sex = = 1; 1; // // default default = = 1 1 and and 1 1 = = male, male, 2 2 = = femalefemale var
var $height $height = = 0; 0; // // height height > > 00 var
var $weight $weight = = 0; 0; // // weight weight > > 00 var
var $age $age = = 0; 0; // // age age > > 00 function
function showName(){showName(){ return
return $this->name;$this->name; }
}
function
function showSex(){showSex(){ return
return $this->sex;$this->sex; }
}
function
function showHeight(){showHeight(){ return
return $this->height;$this->height; }
}
function
function showWeight(){showWeight(){ return
return ($this->sex == 2 ? 'No Answer' : ($this->sex == 2 ? 'No Answer' : $this->weight);$this->weight); }
}
function
function showAge(){showAge(){ return
return ($this->sex == 2 ? 'No Answer' : ($this->sex == 2 ? 'No Answer' : $this->age);$this->age); } } } } ?> ?> ชDชDดคดคาสาส - -งทงท - - 44 จากชDดคาส-งท- 4น
จากชDดคาส-งท- 4น เราได,พบคาหลกอกคาค&อ เราได,พบคาหลกอกคาค&อ var var โดยคานเปCนคาหลกท-ใช,กาหนดคDณสมบโดยคานเปCนคาหลกท-ใช,กาหนดคDณสมบต8เร8-มต,นของแมแบบต8เร8-มต,นของแมแบบ
ซซ - -งเปCน ดงเปCน ดงข,งข,อกาหนดวอกาหนดวาเม&าเม& - -อสร,างวอสร,างวตถDตถDขข นแล,วคDนแล,วคDณสมบณสมบต8ต8ดงกลดงกลาวจะต8ดตวไปกบวาวจะต8ดตวไปกบวตถDตถDนนน ๆ ด,วย ซ-น ๆ ด,วย ซ-งคDณสมบงคDณสมบต8ต8นนนจะแยกนจะแยก อ8อ8สระออกจากวสระออกจากวตถDตถDอ&อ& - -น ๆ โดยร#น ๆ โดยร#ปแบบการเขปแบบการเขยนคDยนคDณสมบณสมบต8ต8ก6ก6ค&ค&ออ
var
var $propertyname;$propertyname;
ร#ร#ปแบบคปแบบคาส-าส-งทงท - - 33 โดยท-หลงคาหลก
โดยท-หลงคาหลก var var จะตามด,วยช&-อคDณสมบต8ต8 $propertynameจะตามด,วยช&-อคDณสมบ $propertyname ซซ -งการตงช&-อคDณสมบ -งการตงช&-อคDณสมบต8ต8นนก6ใช,หลกการตงช&-อนนก6ใช,หลกการตงช&-อ
แบบเด
แบบเดยวกยวกบตบตวแปรโดยทวแปรโดยท - -วไปวไป โดยการเรยกใช,
โดยการเรยกใช,คDณสมบคDณสมบต8 ต8 และพฤต8กรรและพฤต8กรรมภายในแมมภายในแมแบบเดยวกแบบเดยวกนนนนนจะใช,นจะใช,ผานคาหลกท-ผานคาหลกท-ช&-อช&-อ thisthis ซซ -งเราจะทาการ -งเราจะทาการ
อ,อ,างอ8างอ8งกงกบช&บช& - -อคDอคDณสมบณสมบต8ต8หร&หร&อพฤต8อพฤต8กรรมอกรรมอกทกทหนหน - -งโดยใช,งโดยใช,เคร&เคร& - -องหมายอ,องหมายอ,างอ8างอ8งง -> -> เข,เข,ามารามารวมการทวมการทางานโดยว8างานโดยว8ธธการเขการเขยนค&ยนค&ออ $this
$this->propertyname;->propertyname; $this
$this->methodname(<->methodname(< parameter*> parameter*> ););
ร#ร#ปแบบคปแบบคาส-าส-งทงท - - 44 โดยท- โดยท- $this$thisมมความหมายวา ความหมายวา การเช7การเช7 อมโยงค9ณสมบ*อมโยงค9ณสมบ*ตFและพฤตFกรรมของตนเองตFและพฤตFกรรมของตนเอง” ซ” ซ -งในร#ปแบบค -งในร#ปแบบคาส-งทาส-งท - 4น - 4น ก6ก6 ได, ได,มมตวอยางการอ,างอ8งถงพฤต8กรรม ซ-งพฤต8กรรมนเราสามารถเรยกใช,ได,เหม&อน ๆ กบฟxงกQตวอยางการอ,างอ8งถงพฤต8กรรม ซ-งพฤต8กรรมนเราสามารถเรยกใช,ได,เหม&อน ๆ กบฟxงกQชนท-วๆ ไปและรวมไปชนท-วๆ ไปและรวมไป ถถงการสงการสงพารQงพารQราม8ราม8เตอรQเตอรQตตาง ๆ เข,าง ๆ เข,าไปได,าไปได,ด,ด,วยวย จากตวชD จากตวชDดคาสดคาส -งท -งท - 4เรานามาสร, - 4เรานามาสร,างวางวตถDตถDเพ&-เพ&-อพ8อพ8สDทธ8สDทธ8 z zววาวาวตถDตถDนน น ๆ มความเปCน ๆ มความเปCนอ8สระตนอ8สระตอกน โดยเราจะสร,างวตถDอกน โดยเราจะสร,างวตถD 2ว2วตถDตถD ทท - -มมช&-ออ,างอ8งวา somsakและ ช&-ออ,างอ8งวา somsakและ somyisomyingโดยท-ngโดยท-กาหนดให,กาหนดให,ช&-อ ช&-อ SomsakเSomsakเปCนผ#,ชาย มอายD ปCนผ#,ชาย มอายD 2ปความส#ง 17 ชม.นา2ปความส#ง 17 ชม.นา
หน
หนก 5ก 5กก.และ somyingเปCนกก.และ somyingเปCนผ#,ผ#,หญ8ง มอายD หญ8ง มอายD 25ปความส#ง 1 ชม.น25ปความส#ง 1 ชม.นาหนก 4กก.เม&-าหนก 4กก.เม&-อกาหนดเสร6จแล,อกาหนดเสร6จแล,ว เราจว เราจะะ บอกให,
บอกให,ววตถDตถDทท งสองบอกข,งสองบอกข,อม#อม#ลของตลของตวเองผวเองผานพฤต8านพฤต8กรรมทกรรมท - - ได, ได,กกาหนดไว,าหนดไว, ในชD ในชDดคดคาสาส - -งท-งท- 4ท4ท - - ได, ได,เขเขยนไว,ยนไว,กกอนหน,อนหน,านาน ได,ได,ดดงนงน
$somsak =
$somsak = newnew human human ();(); $somsak->name = 'Somsak'; $somsak->name = 'Somsak'; $somsak->sex = 1; $somsak->sex = 1; $somsak->height = 178; $somsak->height = 178; $somsak->weight = 65; $somsak->weight = 65; $somsak->age = 28; $somsak->age = 28; echo
echo 'Name : 'Name : '.$somsak->showName().'.$somsak->showName().'<br />';'<br />'; echo
echo 'Sex : '.$somsak->showSex().'<br />';'Sex : '.$somsak->showSex().'<br />'; echo
echo 'Height : '.$somsak->showHeight().'<br />';'Height : '.$somsak->showHeight().'<br />'; echo
echo 'Weight : '.$somsak->showWeight().'<br />';'Weight : '.$somsak->showWeight().'<br />'; echo
echo 'Age : '.$somsak->showAge().'<br />';'Age : '.$somsak->showAge().'<br />'; $somying =
$somying = newnew human human ();(); $somying->name = 'Somying'; $somying->name = 'Somying'; $somying->sex = 2; $somying->sex = 2; $somying->height = 168; $somying->height = 168; $somying->weight = 48; $somying->weight = 48; $somying->age = 25; $somying->age = 25; echo
echo 'Name : 'Name : '.$somying->showName()'.$somying->showName().'<br />';.'<br />'; echo
echo 'Sex : '.$somying->showSex().'<br />';'Sex : '.$somying->showSex().'<br />'; echo
echo 'Height : '.$somying->showHeight().'<br />';'Height : '.$somying->showHeight().'<br />'; echo
echo 'Weight : '.$somying->showWeight().'<br />';'Weight : '.$somying->showWeight().'<br />'; echo
echo 'Age : '.$somying->showAge().'<br />';'Age : '.$somying->showAge().'<br />';
ชDชDดคดคาสาส - -งทงท - - 55 จากต จากตวอยวอยางชDางชDดคดคาสาส - -งดงดงกลงกลาวนาวนเราจะได,เราจะได,คคาตอบของผลการทาตอบของผลการทางานดางานดงตงตอไปนอไปน Name : Somsak Name : Somsak Sex : male Sex : male Height : 178 Height : 178 Weight : 65 Weight : 65 Age : 28 Age : 28 Name : Somying Name : Somying Sex : female Sex : female Height : 168 Height : 168 Weight : No Answer Weight : No Answer Age : No Answer Age : No Answer ผลการท ผลการทางานของชDางานของชDดคดคาสาส - -งทงท - 5 - 5 จากชDดคาส
จากชDดคาส-งท- -งท- 5 และผล5 และผลการทางานนบอกเราวาวการทางานนบอกเราวาวตถDตถDท-สร,างจากแมแบบ humanนท-สร,างจากแมแบบ humanน นเม&-อถ#กกาหนดคDณสมบ นเม&-อถ#กกาหนดคDณสมบต8ต8วาวา เปC
เปCนเพศชายแลนเพศชายแล,วถ,,วถ,าเราสาเราส-งให,แสดงอายDและนาหน-งให,แสดงอายDและนาหนกก6จะแสดกก6จะแสดงออกมา งออกมา แตแตถ,ถ,าถ#าถ#กกาหนดคDณสมบกกาหนดคDณสมบต8เปCต8เปCนเพศหญ8งแล,วกลบนเพศหญ8งแล,วกลบ ไมแสดงอายDและนาหนกออกมาให,เรา ซ-งเก8ดจากการท-เราได,
ไมแสดงอายDและนาหนกออกมาให,เรา ซ-งเก8ดจากการท-เราได,กาหนดในพฤต8กรรมนในแมแบบไว,แล,ววา โดยอย#ในกาหนดในพฤต8กรรมนในแมแบบไว,แล,ววา โดยอย#ใน พฤต8
พฤต8กรรมทกรรมท - -ช&ช& - -อ showAgeและ showWeightวอ showAgeและ showWeightวาถ,าถ,าเปCนเพศหญ8าเปCนเพศหญ8งจะ NoAnswerออกมา ด,งจะ NoAnswerออกมา ด,วยเหตDวยเหตDผลบางประการ ;Pผลบางประการ ;P จากตวอย จากตวอยางนางน ยงมยงมจDจDดอดออนเร&-องของการตงคอนเร&-องของการตงคาคDาคDณสมบณสมบต8หลายอยาง เชนการกาหนดเพศนนจะต,ต8หลายอยาง เชนการกาหนดเพศนนจะต,องเปCน 1ทองเปCน 1ท - -เปCเปCนเพศนเพศ ชายและ 2ท ชายและ 2ท - -เปCนเพศหญ8เปCนเพศหญ8งซงซ -งถ, -งถ,าเราตาเราตงคาคDณสมบงคาคDณสมบต8โดยตรงแบบชDดคาส-งท- 5นต8โดยตรงแบบชDดคาส-งท- 5น นจะทาให,นจะทาให,ข,อม#ลคDณสมบข,อม#ลคDณสมบต8ต8ผ8ดเพยนไปผ8ดเพยนไป จากท-ควรจะเปCนเราจงจาเปCนต,องปรบเปล-ยนการตงคาคDณสมบ จากท-ควรจะเปCนเราจงจาเปCนต,องปรบเปล-ยนการตงคาคDณสมบต8ใหมโดยต8ใหมโดยทางานผานพฤทางานผานพฤต8กรรมแทนซ-งต8กรรมแทนซ-งชวยในการชวยในการ กรองข,อม#ลให,เรากอนทาการตงคาให, กรองข,อม#ลให,เรากอนทาการตงคาให,กบคDณสมบกบคDณสมบต8จร8ง ๆ ซ-งเปCนคDณสมบต8จร8ง ๆ ซ-งเปCนคDณสมบต8ต8ท-อย#ในข,อกาหนดการหอหD,มภายในท-อย#ในข,อกาหนดการหอหD,มภายใน (Encapsulation)น (Encapsulation)น นเอง นเอง โดยตามข,อกาหนดท-โดยตามข,อกาหนดท-ร#,โดยทร#,โดยท-วก-วกนในวงการนในวงการการเขยนโการเขยนโปรแกรมปรแกรมเช8งวเช8งวตถDตถDวาการตงคาให,วาการตงคาให,กบกบ
คDคDณสมบณสมบต8ต8นนต,นนต,องใช,องใช,คาขคาขนต,นวา นต,นวา set set ทท - -แปลวาแปลวา ต*ต* ? ?งค-างค-า และการเรยกใช,และการเรยกใช,คาคDคาคDณสมบณสมบต8ต8นน นใช, นใช,คาขนต,คาขนต,นวา นวา get get ทท - -แปลวาแปลวา
เข
เขาถงาถง แล,วตามด,แล,วตามด,วยช&-อคDณสมบวยช&-อคDณสมบต8ต8นน ๆ เพ&-นน ๆ เพ&-องายตอการเรยกใช,องายตอการเรยกใช,และส&-อความหมายมากขและส&-อความหมายมากขน น ทางผ#ทางผ# ,เขยนจงขอนาชDดคา ,เขยนจงขอนาชDดคา สส - -งทงท - - 5มาปร5มาปรบปรDบปรDงให,งให,ดดขข นไปอนไปอกก
<? <? php php class
class human {human { var
var $name = “human”;// default name = “human”$name = “human”;// default name = “human” var
var $Sex= $Sex= 1; 1; // // default default = = 1 1 and and 1 1 = = male, male, 2 2 = = femalefemale var
var $h$heieighghtt = = 0; 0; // // heheigight ht > > 00 var
var $w$weieighghtt = = 0; 0; // // weweigight ht > > 00 var
var $age $age = = 0; 0; // // age age > > 00 function
function setName($value = 'human'){setName($value = 'human'){ $this->name = $value;
$this->name = $value; }
}
function
function setSex($value = 1){setSex($value = 1){
$this->Sex = ($value == 1 || $value ==
$this->Sex = ($value == 1 || $value == 2 ? $value : 1);2 ? $value : 1); }
}
function
function setHeight($value = 1){setHeight($value = 1){
$this->height = ($value > 0 ? $value : $this->height = ($value > 0 ? $value : 1 );1 ); }
}
function
function setWeight($value = 1){setWeight($value = 1){
$this->weight = ($value > 0 ? $value : $this->weight = ($value > 0 ? $value : 1 );1 ); }
}
function
function setAge($value = 1){setAge($value = 1){
$this->age = ($value > 0 ? $value : 1 ); $this->age = ($value > 0 ? $value : 1 ); }
}
function
function getName(){getName(){ return
return $this->name;$this->name; }
}
function
function getSex(){getSex(){ return
return ($this->Sex == 1 ? 'male' : 'female');($this->Sex == 1 ? 'male' : 'female'); }
}
function
function getHeight(){getHeight(){ return
return $this->height;$this->height; }
}
function
function getWeight(){getWeight(){ return
return ($this->Sex == 2 ? 'No Answer' : ($this->Sex == 2 ? 'No Answer' : $this->weight);$this->weight); }
}
function
function getAge(){getAge(){ return
return ($this->Sex == 2 ? 'No Answer' : ($this->Sex == 2 ? 'No Answer' : $this->age);$this->age); } } } } ?> ?> ชDชDดคดคาสาส - -งทงท - - จากชDดคาส
จากชDดคาส-งท- -งท- จะเห6นได,จะเห6นได,วา วา ผ#,เผ#,เขยนนขยนนนไนได,ปรด,ปรบปรDงจากบปรDงจากการใช,การใช,คาวาคาวา show show เปCนคาวาเปCนคาวา get get แทแทนน และไดเพFมและไดเพFม
พฤตFกรรมใหม-พฤตFกรรมใหม-ททมม set set เปXนคาข?นตนและตามดวยช7อต*วแปรโดยสรางข?นมาเพ7อใหใชพฤตFกรรมน?ในการเปXนคาข?นตนและตามดวยช7อต*วแปรโดยสรางข?นมาเพ7อใหใชพฤตFกรรมน?ในการ
เปลยนแปลงค-าแทนการต*?งค-าให
เปลยนแปลงค-าแทนการต*?งค-าใหก*บค9ณสมบ*ก*บค9ณสมบ*ตFโดยตรงตFโดยตรงแบบชDดคาสแบบชDดคาส-งท- -งท- 5โดยในพฤต8ก5โดยในพฤต8กรรม รรม setNamsetNamesetSeesetSe setHeightsetWeightและ setAgeโดยจะม
setHeightsetWeightและ setAgeโดยจะมคคาเร8าเร8 -มต,นของการท -มต,นของการทางานไว,างานไว,ท-พาราม8ท-พาราม8เตอรQเตอรQเปCน 1 ไว,เปCน 1 ไว,กอนแล,วเพ&-อปกอนแล,วเพ&-อปองกองกนผ#นผ# , , เขยนโปรแกรมนนล&มใส
เขยนโปรแกรมนนล&มใสคาลงไป ซ-งใน setNameนคาลงไป ซ-งใน setNameน นได, นได,กาหนดพาราม8เตอรQกาหนดพาราม8เตอรQตงต,นไว,เชนกน แตเปCนการกาหนดช&-อตงต,นไว,เชนกน แตเปCนการกาหนดช&-อ hum
humanแทน anแทน ซ-งใน ซ-งใน setsetSeนSeน นได, นได,มการดกจบคาวาต,องมมการดกจบคาวาต,องมคาคาเพยง เพยง 1และ 1และ 2เทาน2เทานน สวน น สวน setsetHeiHeightghtsetsetWeiWeightght และ setAgeก6ได,
และ setAgeก6ได,ดกจดกจบคาวา คาท-ใสบคาวา คาท-ใสเข,ามานนต,องมเข,ามานนต,องมคามากกวา 0 เสมอ คามากกวา 0 เสมอ ซ-งจากท-เราได,ซ-งจากท-เราได,ทาแบบนทาแบบนทาให,ทาให,การตการตงคาและงคาและ เข,