สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Suphot Sawattiwong Function ใน C# Suphot Sawattiwong
Advertisements

Introduction to C Introduction to C.
Ajax อ.วชิระ หล่อประดิษฐ์ ระบบสารสนเทศทางคอมพิวเตอร์
Object Oriented Language ภาษาเชิงวัตถุ
JavaScript.
05_3_Constructor.
ฟังก์ชั่น function.
Object-Oriented Programming
Object Oriented Programing
การเขียนโปรแกรมภาษาจาวาตอนที่ ๓
Object-Oriented Analysis and Design
ครั้งที่ 7 Composition.
หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์
C Programming Lecture no. 6: Function.
SCC : Suthida Chaichomchuen
SCC : Suthida Chaichomchuen
การสืบทอด (Inheritance)
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
คลาสและวัตถุ (4) (Class & Object)
คลาสและวัตถุ (4) (Class & Object)
OOP (Object-Oriented Programming)
PHP.
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
Inheritance การสืบทอดคลาส
Charter 8 1 Chapter 8 การจัดการฐานข้อมูล Database Management.
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
ง30216 การสร้างเกมคอมพิวเตอร์
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
1. 2  ในการใช้งานเว็บไซต์ โดยปกติเราจะไม่สามารถ ใช้งานตัวแปรที่มีลักษณะ Global ที่สามารถ นำไปใช้ได้กับเว็บเพจหน้าอื่นๆ ปกติในการใช้ งานค่าต่างๆ ของเว็บเพจ.
Chapter 16 / Unit 77 : VB : Subprogram & Function Senior Cybernaut ศูนย์การศึกษาต่อเนื่องแห่ง จุฬาลงกรณ์มหาวิทยาลัย SL102017/04C /ISSUE2.
Method of Class อ.สุพจน์ สิงหัษฐิต
การวิเคราะห์และออกแบบระบบเชิงวัตถุ (OOAD)
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
โปรแกรม Microsoft Access
บทที่ 3 การทำงานกับฟอร์ม (Form)
บทที่ 4 การทำงานกับรายงาน (Report)
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
PHP for Web Programming
ฟังก์ชัน.
Object-Oriented Programming
วิชา วิศวกรรมซอฟต์แวร์ (Software Engineering)
CHAPTER 4 Control Statements
ADO.NET (การบริหารและจัดการข้อมูล)
Midterm outline Object-oriented programming Wattanapong suttapak, Software Engineering, school of Information communication Technology, university of phayao.
การเขียนโปรแกรมคอมพิวเตอร์ 1
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
Polymorphism กนกวรรธน์ เซี่ยงเจ็น
หลักการเขียนโปรแกรม ( )
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Object Oriented Programming : OOP
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
TECH30201 Object-Oriented Programming
การฝึกงาน รายวิชาในกลุ่มวิชาเอกบังคับของหลักสูตรระดับปริญญาตรี คณะเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยพะเยา การฝึกปฏิบัติงานจริง จะทำให้นิสิตได้มีโอกาสเรียนรู้ประสบการณ์
คอนสตรัคเตอร์ (Constructor)
Debugging กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
การพัฒนาการเรียนรู้รายวิชาการโปรแกรมคอมพิวเตอร์ด้วย e-Learning
PHP. P ersonal H ome P age P rofessional H ome P age PHP : H ypertext P reprocessor.
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
chapter 2 - Construction and destruction - Overloading method
Function. วัตถุประสงค์การเรียนรู้ ให้รู้จักว่าฟังก์ชันคืออะไร ให้รู้จักว่าเราสร้างฟังก์ชันเพื่อจุดประสงค์ใด หรือ เพื่อประโยชน์ใด ให้รู้จักประเภทของฟังก์ชัน.
1 Inheritance อุทัย เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
2 มิ. ย 2547 โดย วชิราวุธ ธรรมวิเศษ 1 บทที่ 1 แนะนำเทคโนโลยีจาวา Introduction to Java Technology.
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
PHP Html Form && Query string
1 Introduction to SQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
รายการ (Lis t) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยีคอมพิวเตอร์เคลื่อนที่ คณะเทคโนโลยีสารสนเทศและการสื่อสาร Website : ict.up.ac.th/yeunyong.
บทที่ 3 การสืบทอด (Inheritance)
ใบสำเนางานนำเสนอ:

สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา Object-Oriented PHP กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

เนื้อหา หลักการของ Object-Oriented การสร้าง Class, Attribute และ Operation ใน PHP การเรียกใช้ Class Attribute การเรียกใช้ Class Operation การถ่ายทอดคุณสมบัติ Inheritance การออกแบบ Class

หลักการของ Object-Oriented Class and Object Polymorphism Inheritance

Class คือแม่แบบของ Object ที่ประกอบด้วย Class and Object Class คือแม่แบบของ Object ที่ประกอบด้วย คุณสมบัติ (Attribute): เช่นตัวแปรต่างๆ ที่ประกาศขึ้นใช้งาน วิธีการดำเนินการ (Operation): เช่น ฟังก์ชันการทำงานต่างๆ ที่กระทำกับ คุณสมบัติที่นิสิตกำหนดขึ้นมา

Inheritance Inheritance คือ คุณสมบัติในการถ่ายทอดลักษณะ และ Member จาก Class หนึ่งที่อยู่เหนือกว่า (Super class) ไปยังอีก Class หนึ่งที่อยู่ระดับล่าง (Sub class) โดย Class ที่รับการถ่ายทอด จะมีลักษณะเช่นเดียวกัน Class ต้นแบบทุกประการ โดยที่เราสามารถปรับปรุง เปลี่ยนแปลงลักษณะและ Member จาก Class ต้นแบบ ให้มีความสามารถใหม่ๆ ขึ้นมา ช่วยให้ประหยัดเวลาในการพัฒนา

หรือ "Parent Class" หรือ "Child Class" Parent Class Child Class Class ต้นแบบ เรียกว่า "Base Class" หรือ "Parent Class" Class ที่รับการถ่ายทอด เรียกว่า "Derived Class" หรือ "Child Class"

Person Nurse Doctor Student Class ต้นแบบ คือ Person Class ที่รับการถ่ายทอด คือ Student, Nurse, Doctor ซึ่งจะมีคุณลักษณะเหมือน Person

Inheritance ข้อดี ข้อเสีย สามารถนำ code กลับมาใช้ใหม่ได้ โดยไม่ต้องเขียนใหม่ สามารถแก้ไขที่ super class ที่เดียว โดยไม่ต้องแก้ไขทุกๆ sub class ที่ได้รับการ extend มา ลดความซับซ้อนของโปรแกรม ข้อเสีย ถ้าออกแบบไม่ดี มีผลกระทบที่ร้ายแรงในภายหลัง

การสร้าง Class, Attribute และ Operation ใน PHP class classname { var $attribute_name; function func_name(){ } // end function } // end class การประกาศเพื่อสร้าง class สร้าง attribute ต้องมี var สร้าง operation

ตัวอย่าง การประกาศเพื่อสร้าง class สร้าง operation class student { var $student_id; function show_student_id(){ } // end function } // end class การประกาศเพื่อสร้าง class สร้าง attribute ต้องมี var สร้าง operation

Constructor เป็นฟังก์ชันที่จะถูกเรียกใช้งานโดยอัตโนมัติ เมื่อมีการสร้าง Object ใหม่ โดยที่ Constructor มีรูปแบบคือ หรืออาจกำหนดชื่อของฟังก์ชัน ให้ตรงกับชื่อ Class ก็ได้ เรานิยมใช้สำหรับกำหนดค่าเริ่มต้นให้กับ attribute หรือ method function __construct(){ } รูปแบบ

Example: __construct() class student { var $student_id; function __construct($param){ echo "Constructor with parameter $param"; } // end function } // end class การประกาศเพื่อสร้าง class สร้าง attribute สร้าง constructor

Destructor เป็นฟังก์ชันที่จะถูกเรียกใช้งานโดยอัตโนมัติ ก่อนการทำลาย Class ที่ใช้งานอยู่ โดยที่ Destructor มีรูปแบบคือ จะถูกเรียกใช้เมื่อมีการ unset ตัวแปร Class ที่เราสร้างขึ้น function __destruct(){ } รูปแบบ

Example: __destruct() class student { var $student_id; function __destruct($param){ echo "You are Destroy Class"; } // end function } // end class การประกาศเพื่อสร้าง class สร้าง attribute สร้าง destructor

Example: construct & destruct class student{ function __construct($param){ echo "Construct Class for $param <br/>"; } // end constructor function __destruct(){ echo "Destroy Class!!"; } // end destructor } // end class $stu = new student('uthai'); // create instance unset($stu); // destroy class Construct Class for uthai Destroy Class!!

การเรียกใช้ Class Attribute ในการใช้งาน Class เมื่อเราต้องการที่จะอ้างอิง Attribute ที่อยู่ภายใน Class สามารถทำได้ โดยใช้ Pointer พิเศษที่ชื่อว่า $this ชี้ไปที่ชื่อของ Attribute ที่เราต้องการ var $attribute_name; . . . $this -> attribute_name; รูปแบบ

การเรียกใช้ Class Operation การเรียกใช้งาน Class Operation จะทำได้ก็ต่อมีการเรียกใช้งานผ่าน instance ที่เราสร้างขึ้นมาจาก Class

Example: Class Attribute & Operation class student{ var $student_id; function __construct($param){ $this -> student_id = $param; } // end constructor function show_id(){ echo "student id = " . $this -> student_id; } // end function } // end class $stu = new student(46330001); // create instance $stu -> show_id(); // show student id student id = 46330001 Class Attribute Class Operation

การถ่ายทอดคุณสมบัติ Inheritance เป็นการถ่ายทอด Attribute และ Operation จาก Class แม่แบบ โดยเราต้องใช้คำสั่ง extends ตามหลังชื่อ Class แล้วปิดท้ายด้วยชื่อ Class ต้นแบบ สร้าง Class student โดยถ่ายทอด Attribute และ Operation จาก Class person class student extends person { } รูปแบบ

Example: Inheritance Hello, Uthai ShiangJan class person{ var $firstname; var $lastname; function __construct($fname, $lname){ $this -> firstname = $fname; // assign value to firstname $this -> lastname = $lname; // assign value to lastname } // end function function show_detail(){ echo "Hello, " ; echo $this -> firstname . " " . $this -> lastname; } // end class $detail = new person("Uthai", "ShiangJan"); $detail -> show_detail(); Hello, Uthai ShiangJan

Example: Inheritance Hello, Uthai ShiangJan Person Student class person{ var $firstname; var $lastname; function __construct($fname, $lname){ $this -> firstname = $fname; // assign value to firstname $this -> lastname = $lname; // assign value to lastname } // end function function show_detail(){ echo "Hello, " ; echo $this -> firstname . " " . $this -> lastname; } // end class class student extends person{ // inheritance $detail = new student("Uthai", "ShiangJan"); $detail -> show_detail(); Hello, Uthai ShiangJan Person Student

Overriding ในการ Inheritance Class มาเพื่อใช้งานบางครั้งเราจำเป็นต้องมีการเปลี่ยนแปลง (Modify) function การทำให้ให้สอดคล้องกับ Class ใหม่ที่เราสร้างขึ้น การทำ Overriding คือการสร้าง Function ใน Sub Class ที่มีชื่อเหมือน Function ของ Class แม่แบบ เพื่อให้ทำงานที่แตกต่างไปจาก Function ของ Class แม่แบบ

การออกแบบ Class โดยทั่วไปเราจะนำ Class แทน Object ที่มีอยู่ในชีวิตจริง เช่น หากเราต้องการออกแบบ E-Commerce เราก็ควรแบ่งส่วนประกอบของ E-Commerce เป็นส่วนๆ เช่น Shopping cart ก็แยกออกมาสร้างเป็น Class เพื่อให้สามารถนำเอา Shopping cart ไปใช้งานได้กับเว็บ E-Commerce อื่นๆ ได้อีก

Example: Overriding Hi World Hello World class person{ function show_detail(){ echo "Hello World " ; } // end function } // end class class student extends person{ $detail = new student(); $detail -> show_detail(); class person{ function show_detail(){ echo "Hello World " ; } // end function } // end class class student extends person{ echo “Hi World " ; $detail = new student(); $detail -> show_detail(); Hi World Hello World