คลาสและวัตถุ (4) (Class & Object)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างของภาษา C ในโปรแกรมที่พัฒนาด้วยภาษา C ทุกโปรแกรมจะมีโครงสร้างการพัฒนาไม่แตกต่างกัน ซึ่งประกอบด้วย 6 ส่วนหลัก ๆ โดยที่แต่ละส่วนจะมีหน้าที่แตกต่างกัน.
Advertisements

ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
Chapter 7 ขอบเขตของตัวแปร Variable Scope.
Data Type part.III.
Object and classes.
05_3_Constructor.
ปฏิบัติการครั้งที่ 9 ฟังก์ชัน.
การเขียนโปรแกรมภาษาจาวาตอนที่ ๓
ครั้งที่ 7 Composition.
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์
SCC : Suthida Chaichomchuen
Classification Abstraction
Selected Topics in IT (Java)
PROCEDURE <<โปรแกรมย่อย>>
การสืบทอด (Inheritance)
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
ภาษาที่ใช้ในการเขียนเว็บไซต์
บทที่ 3 Class and Object (1) การสร้างและการใช้งานคลาส
คลาสและวัตถุ (2) (Class & Object)
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
คลาสและวัตถุ (3) (Class & Object)
คลาสและวัตถุ (2) (Class & Object)
บทที่ 4 Method (2).
คลาสและวัตถุ (3) (Class & Object). w5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 24, 25 as5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 23 2.
คลาสและวัตถุ (4) (Class & Object)
บทที่ 4 Method (1).
การสืบทอดคุณสมบัติ (Inheritance)
OOP (Object-Oriented Programming)
C# Programming Exceed Camp: Day 3.
Lecture 9 Class (คลาส) To do: Hand back assignments
Inheritance การสืบทอดคลาส
บทที่ 7 คำสั่งสำหรับเขียนโปรแกรม
รู้จักและใช้งาน Applet
บทที่ 6 เมธอด.
หลักการวิเคราะห์และออกแบบระบบฐานข้อมูล
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
ใบงานที่ 3 โครงสร้างของโปรแกรมภาษาซี
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
สนุกกับ Activity ใน Android
Method of Class อ.สุพจน์ สิงหัษฐิต
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
Lec03 :: หลักการเชิงออปเจ็ค (Object Oriented Concept)
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
ฟังก์ชัน.
Object-Oriented Programming
บทที่ 3 Class and Object (2).
หลักการเขียนโปรแกรม ( )
PHP: [8] การสร้างฟังก์ชั่นขึ้นใช้เอง (User-defined functions)
Java Programming Java Structure and Datatype,Variable
การเขียนโปรแกรมคอมพิวเตอร์ 1
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
Recursive Method.
Object Oriented Programming : OOP
การแสดงผลและการรับข้อมูล (Data Output and Input)
การสืบทอด (inheritance)
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
TECH30201 Object-Oriented Programming
Class. ทบทวน Object ประกอบด้วย ชื่อ Attributes -> คุณลักษณะ Methods -> การกระทำ ให้ลองเขียน Object โดยใช้รูปแบบดังนี้ ชื่อ Attributes Methods.
Inheritance และ Encapsulation.  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่ มีอยู่แล้ว  คลาสใหม่จะนำแอตทริบิวต์และเมธอดของ คลาสเดิมมาใช้  เป็นการถ่ายทอดคุณสมบัติจากคลาสหนึ่งสู่อีก.
Object-Oriented Programming
คอนสตรัคเตอร์ (Constructor)
chapter 2 - Construction and destruction - Overloading method
เริ่มต้นเขียนโปรแกรมภาษาจา วา (Introduction to JAVA Programming)
2 มิ. ย 2547 โดย วชิราวุธ ธรรมวิเศษ 1 บทที่ 1 แนะนำเทคโนโลยีจาวา Introduction to Java Technology.
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
บทที่ 3 การสืบทอด (Inheritance)
ใบสำเนางานนำเสนอ:

คลาสและวัตถุ (4) (Class & Object) บทที่ 2 คลาสและวัตถุ (4) (Class & Object)

รู้จักกับ Constructor w7_000.rar ข้อ 34, 35 รู้จักกับ Constructor เป็นเมธอดประเภทหนึ่งที่มีชื่อเดียวกับชื่อคลาส เมื่อมีการสร้างออบเจ็กต์ด้วยคำสั่ง new เมธอดนี้จะถูกเรียกใช้งานโดยอัตโนมัติ เป็นเมธอดที่ไม่มีการคืนค่าและไม่ต้องระบุคีย์เวิร์ด void ถ้าในโปรแกรมไม่มี Constructor คอมไพเลอร์ภาษา Java จะใส่ Constructor แบบ default ให้กับโปรแกรมโดยอัตโนมัติ Default Constructor จะเป็น Constructor ที่ไม่มีคำสั่งใดๆ อยู่ภายใน

การสร้าง Constructor เพื่อกำหนดค่าเริ่มต้นให้กับแอตทริบิวต์หรือเมธอดต่าง ๆ ก่อนเริ่มใช้งาน Constructor สามารถรับพารามิเตอร์ได้เหมือนกับเมธอด มีรูปแบบการใช้งาน ดังนี้ [modifier] ClassName ([parameter]) { [statements] } โดยที่ ClassName เป็นชื่อคลาส objName เป็นชื่อออบเจ็กต์ modifier เป็นคีย์เวิร์ดที่กำหนดคุณสมบัติการเข้าถึงเมธอด parameter เป็นตัวแปรที่ใช้รับข้อมูลอาร์กิวเมนต์จากคลาส ที่เรียกใช้งาน

การสร้างใช้งาน Constructor ในการเรียกใช้งาน Constructor ก็คือการประกาศออบเจ็กต์นั้นเอง เนื่องจาก Constructor จะมีการทำงานโดยอัตโนมัตเมื่อสร้างออบเจ็กต์ใหม่ ซึ่งมีรูปแบบการสร้างออบเจ็กต์ดังนี้ ClassName objName = new ClassName ([argument]); โดยที่ ClassName เป็นชื่อคลาส objName เป็นชื่อออบเจ็กต์ argument เป็นค่าอาร์กิวเมนต์ที่จะส่งไปให้กับ Constructor พารามิเตอร์ของ Constructor จะต้องมีจำนวนและชนิดข้อมูลสอดคล้องกับอาร์กิวเมนต์ที่ส่งมาตอนประกาศออบเจ็กต์ด้วยคำสั่ง new

โปรแกรมการใช้งาน Default Constructor

โปรแกรมการใช้งาน Constructor

Overloading Constructor ภาษา Java อนุญาตให้สร้าง Constructor ได้มากกว่า 1 ตัว เรียกว่า Overloading Constructor มีหลักการเดียวกับ Overloading Method จำนวนหรือชนิดข้อมูลของอาร์กิวเมนต์ที่ส่งไปในแต่ละ Constructor ต้องแตกต่างกัน คอมไพเลอร์จะเรียกใช้ Constructor ตัวใดให้ทำงานนั้น พิจารณาจากจำนวนหรือชนิดข้อมูลของอาร์กิวเมนต์ที่สอดคล้องกัน ทำให้กำหนดค่าเริ่มต้นให้กับออบเจ็กต์ได้หลายรูปแบบ

โปรแกรมการใช้งาน Overload Constructor

หลักการห่อหุ้ม (Encapsulation) บทที่ 3 หลักการห่อหุ้ม (Encapsulation)

ระดับการใช้งานของ Access Modifier public สามารถเข้าใช้งานได้จากทุกคลาส private สามารถเข้าใช้งานข้อมูลภายในคลาสเดียวกันเท่านั้น protected สามารถเข้าใช้งานข้อมูลภายในคลาสเดียวกันและ คลาสที่สืบทอดกัน package สามารถเข้าใช้งานข้อมูลภายในคลาสเดียวกันและ คลาสอื่นที่อยู่ภายในแพ็คเกจเดียวกัน

การกำหนดระดับของ access modifier กรณีที่ข้อมูลทำหน้าที่เป็นตัวแปรสาธารณะอนุญาตให้คลาสใด ๆ เรียกใช้ได้โดยตรง ให้กำหนดเป็น public กรณีที่ข้อมูลมีค่าเป็นส่วนตัวไม่อนุญาตให้คลาสอื่นมาเปลี่ยนแปลงค่าได้ ให้กำหนดเป็น private กรณีที่ข้อมูลมีความสัมพันธ์ในลักษณะที่มีการสืบทอดจากคลาสแม่สู่คลาสลูก ให้กำหนดเป็น protected กรณีที่เป็นข้อมูลทั่วไป การไม่กำหนดระดับของ access modifier จะถือว่ามีระดับการใช้งานเป็น package ซึ่งมีการป้องกันระดับการเข้าใช้งาน ดังนี้ ข้อมูลสามารถถูกเรียกใช้จากคลาสที่อยู่ภายในแพ็คเกจเดียวกัน ถ้าต้องการใช้ข้อมูลจากคลาสต่างแพ็คเกจกัน จะต้องกำหนดเป็นแบบ public ใช้ในกรณีที่ไม่ต้องการให้ตัวแปรเป็นสาธาณะ และไม่ต้องการให้เป็นตัวแปรที่มีค่าส่วนตัว สามารถจำกัดสิทธิการใช้งานภายในแพ็คเกจเดียวกัน

ระดับการใช้งานแบบ public เป็นการกำหนดแอตทริบิวต์หรือเมธอดที่ต้องการ ให้สามารถเรียกใช้ได้จากคลาสใด ๆ

ระดับการใช้งานแบบ private เป็นการกำหนดแอตทริบิวต์หรือเมธอดที่ต้องการ ให้สามารถเรียกใช้ได้จากคลาสเดียวกันเท่านั้น ไม่อนุญาตให้คลาสอื่นเรียกใช้งาน

ระดับการใช้งานแบบ protected เป็นการกำหนดแอตทริบิวต์หรือเมธอดที่อนุญาตให้คลาสที่มีความสัมพันธ์จากคลาสแม่สู่คลาสลูกใช้งานเท่านั้น ไม่อนุญาตให้คลาสอื่นเรียกใช้ได้

ระดับการใช้งานแบบ package เป็นการกำหนดแอตทริบิวต์หรือเมธอดที่ต้องการใช้งานในคลาสเดียวกันหรือคลาสที่อยู่ในแพ็คเกจเดียวกัน ไม่สามารถเรียกใช้จากคลาสที่อยู่ต่างแพ็คเกจกันได้ คลาสที่อยู่ในแพ็คเกจเดียวกันหมายถึงคลาสที่อยู่ในโฟลเดอร์เดียวกัน

แพ็คแกจและการใช้งาน แพ็คแกจเป็นการจัดหมวดหมู่ของคลาสเพื่อให้เป็นระเบียบและง่ายต่อการเรียกใช้งาน เปรียบได้กับโฟลเดอร์ที่มีไว้รวบรวมคลาสให้อยู่ด้วยกัน โดยใช้ การตั้งชื่อแบบโครงสร้างต้นไม้ ซึ่งมีเครื่องหมาย ”.” คั่น ตัวอย่าง เช่น Tax_Calculation.tax หมายถึง คลาส tax อยู่ในแพ็คเกจ Tax_Calculation

ตัวอย่างโปรแกรมที่มีการใช้แพ็คแกจ (1) การอ้างถึงคลาสที่อยู่ในแพ็คแกจเดียวกัน

ตัวอย่างโปรแกรมที่มีการใช้แพ็คแกจ (2) การอ้างถึงคลาสจากแพ็คแกจอื่น