Selected Topics in IT (Java)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างโปรแกรมภาษา JAVA
Advertisements

Suphot Sawattiwong Function ใน C# Suphot Sawattiwong
การจัดการความผิดพลาด
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
Functional programming part II
Data Type part.III.
Stack.
คืออะไร? คือ queue ที่ access element ตามความสำคัญของตัว element นั้น
แถวคอย (Queue).
บทนำ.
Object and classes.
Inheritance.
05_3_Constructor.
Object-Oriented Programming
ปฏิบัติการครั้งที่ 9 ฟังก์ชัน.
การเขียนโปรแกรมภาษาจาวาตอนที่ ๓
ครั้งที่ 7 Composition.
หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์
Arrays.
Network programming Asst. Prof. Dr. Choopan Rattanapoka
Network programming Asst. Prof. Dr. Choopan Rattanapoka
การสืบทอด (Inheritance)
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
ภาษาที่ใช้ในการเขียนเว็บไซต์
บทที่ 3 Class and Object (1) การสร้างและการใช้งานคลาส
คลาสและวัตถุ (2) (Class & Object)
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
คลาสและวัตถุ (3) (Class & Object)
คลาสและวัตถุ (2) (Class & Object)
คลาสและวัตถุ (4) (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)
Lecture 9 Class (คลาส) To do: Hand back assignments
Inheritance การสืบทอดคลาส
รู้จักและใช้งาน Applet
บทที่ 6 เมธอด.
หลักการวิเคราะห์และออกแบบระบบฐานข้อมูล
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
List ADTs By Pantharee S..
ตัวแปรกับชนิดของข้อมูล
Method of Class อ.สุพจน์ สิงหัษฐิต
Lec05 :: การสืบทอด (inheritance)
โปรแกรมประยุกต์อื่นๆ
Object-Oriented Programming
บทที่ 3 Class and Object (2).
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
Java collection framework
Java Programming Java Structure and Datatype,Variable
การเขียนโปรแกรมคอมพิวเตอร์ 1
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
Recursive Method.
โครงสร้างข้อมูลแบบลิงก์ลิสต์
Object Oriented Programming : OOP
การสืบทอด (inheritance)
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
Inheritance และ Encapsulation.  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่ มีอยู่แล้ว  คลาสใหม่จะนำแอตทริบิวต์และเมธอดของ คลาสเดิมมาใช้  เป็นการถ่ายทอดคุณสมบัติจากคลาสหนึ่งสู่อีก.
Object-Oriented Programming
คอนสตรัคเตอร์ (Constructor)
การเขียนโปรแกรม (ภาษาซี)
chapter 2 - Construction and destruction - Overloading method
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
เริ่มต้นเขียนโปรแกรมภาษาจา วา (Introduction to JAVA Programming)
Chapter 6 Abstract Class and Interface
บทที่ 3 การสืบทอด (Inheritance)
ใบสำเนางานนำเสนอ:

Selected Topics in IT (Java) Week 7 : Abstract & Interface

Abstract Class Abstract Class เป็นคลาสว่างเปล่า (ในภาษาโปรแกรมอื่นๆ อาจจะเรียกว่า Template) ไม่สามารถสร้างออบเจ็กต์ได้ แต่สามารถสืบทอดต่อไปได้ แล้วเราค่อยปรับแต่งองค์ประกอบภายใน (ทั้งแอตทริบิวต์ และเมธอด) จนกลายเป็นคลาสใหม่ คราวนี้ก็จะสร้างออบเจ็กต์ได้

Abstract Class (ต่อ) รูปแบบการสร้าง Abstract Class { } abstract ชนิดของการคืนค่า ชื่อเมธอด (พารามิเตอร์); { return ชื่อตัวแปรในการคืนค่า ; }

Abstract Class (ต่อ) ตัวอย่าง

Abstract Class (ต่อ) รูปแบบการเรียกใช้งาน Abstract Class ตัวอย่างการเรียกใช้งาน class ชื่อคลาส extends ชื่อAbstractClass

Abstract Class (ต่อ) ตัวอย่าง

Abstract Class (ต่อ)

Abstract Class (ต่อ)

Interface Interface ก็มีลักษณะคล้าย Abstract Class ที่ทำงานในลักษณะที่เป็น Template (หรือทำเป็นต้นแบบเอาไว้) แต่ไม่ได้กำหนดคำสั่งการทำงานใดๆ ให้กับเมธอดใน Interface Interface Abstract Class ไม่ใช่ Class เป็น Class เมธอดใน Interface ไม่ต้องประกาศ abstract บางเมธอดของ Abstract Class ต้องประกาศ Abstract การเรียกใช้งานใช้คำว่า Implement การเรียกใช้งานใช้คำว่า extends คลาสที่ทำการ Implement จะต้องระบุเมธอดที่มีอยู่ใน Interface ให้ครบทุกเมธอด คลาสที่ทำการ extends ไม่จำเป็นต้องระบุเมธอดที่มีอยู่ใน Abstract Class ครบทุก เมธอด

Interface (ต่อ) รูปแบบ Interface มีดังนี้ public ชนิดของการคืนค่า ชื่อเมธอด(พารามิเตอร์); public interface ชื่อของInterface { } public class ชื่อคลาส Implements ชื่อInterface { }

Interface (ต่อ) ตัวอย่าง

Interface (ต่อ)

Interface (ต่อ)

Interface (ต่อ)

ใช้ Interface สร้าง Multiple Inheritance Multiple Inheritance คือการสืบทอดคุณลักษณะจาก SuperClass หลายๆ คลาส สู่คลาส SubClass คลาสเดียว เช่นคลาส Child จะมาจากคลาส Father กับคลาส Mother ดังนั้นมันจึงมีแอตทริบิวต์ และเมธอดจากทั้งสองคลาสมารวมกัน

ใช้ Interface สร้าง Multiple Inheritance (ต่อ) public class ชื่อคลาส implements ชื่อInterface1,ชื่อInterface2,…, ชื่อInterfaceN { }

ใช้ Interface สร้าง Multiple Inheritance (ต่อ)

ใช้ Interface สร้าง Multiple Inheritance (ต่อ)

Interface Collection เรื่อง Interface Collection นี้เป็นเรื่องที่เกี่ยวกับโครงสร้างข้อมูล ไม่เกี่ยวข้องกับการสืบทอดหรือการใช้งาน Interface แบบเดิมเรากล่าวถึงในด้านบนเท่าไรนัก

Collection คืออะไร Collection เป็น Interface ที่มีเมธอดช่วยเก็บโครงสร้างข้อมูล โดยสามารถจะระบุหรือไม่ระบุลำดับความสำคัญของสมาชิกก็ได้ และสามารถที่จะกำหนดให้ค่าข้อมูลของสมาชิกซ้ำกันหรือไม่ก็ได้ Collection มีเมธอดที่สำคัญดังนี้ boolean add(Object element) ทำหน้าที่รับข้อมูลเข้าไปเก็บไว้ใน Collection boolean remove(Object element) ทำหน้าที่เอาข้อมูลที่เก็บไว้ใน Collection ออกไป int size( ) ทำหน้าที่คืนค่าจำนวนสมาชิกที่เก็บไว้ใน Collection boolean isEmpty( ) ทำหน้าที่ตรวจสอบว่ามีข้อมูลเก็บอยู่ใน Collection หรือไม่ boolean contains(Object element) ทำหน้าที่ตรวจสอบว่าข้อมูลเก็บอยู่ใน Collection หรือไม่ และไม่มีการเปลี่ยนแปลงข้อมูลหรือไม่

Set คืออะไร Set เป็น Interface ที่มีเมธอดช่วยเก็บโครงสร้างข้อมูล สืบทอดมาจากอินเตอร์เฟส Collection โดยค่าข้อมูลของสมาชิกจะไม่สามารถซ้ำกันได้ และลำดับของสมาชิกไม่มีความสำคัญ คลาสสำคัญที่ implement อินเตอร์เฟส Set คือคลาส HashSet

List คืออะไร List เป็น Interface ที่มีเมธอดช่วยเก็บโครงสร้างข้อมูล สืบทอดมาจากอินเตอร์เฟส Collection โดยค่าข้อมูลของสมาชิกอาจจะซ้ำกันได้ และลำดับของสมาชิกก็มีความสำคัญ

List (ต่อ) เมธอดที่สำคัญที่เพิ่มมาจาก Interface Collection ดังนี้ void add(int index,Object element) ทำหน้าที่รับข้อมูลเข้าไปเก็บไว้ใน List ตามลำดับ Index Object remove(int index) ทำหน้าที่เอาข้อมูลที่เก็บไว้ใน List ออกไปตามตำแหน่งที่ Index ระบุ Object get(int index) ทำหน้าที่คืนค่าข้อมูลในตำแหน่ง Index void set(int index,Object element) ทำหน้าที่เปลี่ยนค่าในตำแหน่ง Index ให้เป็นค่า Object ที่รับเข้าไป int indexOf(Object element) ทำหน้าที่คืนค่าตำแหน่งของวัตถุที่อยู่ใน List และถ้าพบวัตถุแล้วจะเลิกค้นหาต่อไปทันที แต่ถ้าไม่พบจะคืนค่าเป็น -1

List (ต่อ) Class สำคัญที่ implement อินเตอร์เฟส List คือ ArrayList Vector LinkedList

การสร้างและเรียกใช้งาน Interface Collection ในการเขียนโปรแกรมต้อง Import java.util.* การเรียกใช้งาน Interface Collection มีรูปแบบดังนี้ ชื่อออบเจ็กต์ . รูปแบบของเมธอด( );

Interface Collection (ต่อ) ตัวอย่าง

สาระสำคัญ ในบทนี้เราได้เรียนรู้เกี่ยวกับการใช้งาน Abstract Class และ Interface ซึ่งเป็นแนวคิดที่มีประโยชน์มากในการสืบทอดคลาส เพราะให้ความยืดหยุ่นในการทำงาน โดยเราสามารถปรับแต่งรายละเอียดภายในคลาสที่สืบทอดมาได้ง่ายกว่าเดิม นอกจากนี้แนวคิดของ Interface ยังช่วยให้เราสามารถทำการสืบทอดในลักษณะ Multiple Inheritance ได้ด้วย