ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์
อาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูวิชาการ สาขาวิชาคอมพิวเตอร์และเทคโนโลยี โรงเรียนมหิดลวิทยานุสรณ์
2
เนื้อหา องค์ประกอบของโปรแกรมเชิงวัตถุ
ออปเจ็ค (Object) คลาส (Class) คุณลักษณะ (Attribute) เมธอด (Method) การเขียนโปรแกรมเชิงวัตถุโดยใช้ภาษาจาวา การประกาศคลาส การประกาศคุณลักษณะ การประกาศเมธอด การประกาศและสร้างออปเจ็ค การเรียกใช้สมาชิกของออปเจ็ค คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ
3
องค์ประกอบของโปรแกรมเชิงวัตถุ
ภาษาจาวาเป็นภาษาคอมพิวเตอร์ที่ใช้หลักการพัฒนาโปรแกรมเชิงวัตถุ ซึ่งเป็นขบวนการวิเคราะห์ปัญหาโดยการจำลองปัญหาว่าประกอบไปด้วย object ใดบ้าง แล้วจึงเขียนให้อยู่ในรูปแบบของโปรแกรมคอมพิวเตอร์ โปรแกรมเชิงวัตถุจะมีคำนิยามที่สำคัญสองคำคือ object และ class รายละเอียดดังนี้ Object Object คือ สิ่งต่างๆ ที่มีอยู่ในชีวิตประจำวัน เช่น นักศึกษา ใบลงทะเบียน ปากกา รถ คะแนน รายชื่อวิชา บัญชีเงินฝาก ตารางเที่ยวบิน เป็นต้น Object ต่างๆ ประกอบไปด้วยคุณลักษณะ (attribute) และพฤติกรรม (behavior) Attribute คือ ข้อมูลของ Object Behavior หรือ Method คือ สิ่งที่ Object สามารถกระทำได้ Class Class เปรียบเสมือนพิมพ์เขียวของ Object
4
ตัวอย่างของ Object นักศึกษา อาจประกอบไปด้วย Attribute เช่น รหัส ชื่อ และเกรดเฉลี่ย และอาจจะมี Method เช่น ลงทะเบียน สอบ และเดิน เป็นต้น รถยนต์ อาจประกอบไปด้วย Attribute เช่น ยี่ห้อ รุ่น และสี และอาจจะมี Method เช่น เคลื่อนที่ หยุดและเลี้ยว เป็นต้น สุนัข อาจประกอบไปด้วย Attribute เช่น พันธุ์ และสี และอาจจะมี Method เช่น เห่า คลาน และกระดิกหาง เป็นต้น
5
Object : attribute Attribute ของ object คือ ข้อมูลที่เก็บอยู่ใน object ซึ่งจะแบ่งออกเป็นสองประเภทคือตัวแปร(variable) และค่าคงที่(constant) โดยที่ attribute ที่เป็นตัวแปรจะสามารถเปลี่ยนค่าได้
6
Object : method
7
Java Application ตัวอย่าง ขั้นตอนการสร้าง Java Application
public class HelloWorld{ public static void main(String args[]){ System.out.println("Hello World"); } ขั้นตอนการสร้าง Java Application
8
Modifier ในภาษาจาวา Modifier ในภาษาจาวาแบ่งออกเป็น 2 ประเภทใหญ่ๆ คือ access modifier และ non-access modifier access modifier ได้แก่ private, public, protected และ package non-access modifier ได้แก่ final, abstract, static, native, transient, volatile, synchronized, strictfp
9
ต่าง package กัน แต่เป็นคลาสแม่ คลาสลูกกัน
Modifier ในภาษาจาวา ใช้ได้ทั้งหมด package เดียวกัน ต่าง package กัน ต่าง package กัน แต่เป็นคลาสแม่ คลาสลูกกัน คลาสเดียวกัน public protected package private
10
การเขียนโปรแกรมเชิงวัตถุโดยใช้ Java : การประกาศ class
[modifier] class ClassName { [class member] } modifier คือ keyword ของภาษาจาวาที่ใช้เป็น access modifier เช่น private, package, protected, public (ลำดับความเข้มงวดที่สุดไล่ลำดับถึงอิสระที่สุด) หรืออธิบายคุณสมบัติอื่นๆ ของคลาส เช่น abstract และ final class คือ keyword ของภาษาจาวาเพื่อระบุว่าเป็นการประกาศคลาส ClassName คือชื่อของ class ที่เป็นชื่อ identifier ใดๆ ที่สอดคล้องกับกฎการตั้งชื่อ class member คือ method หรือ attribute ของ class ตัวอย่างการประกาศคลาส student สามารถทำได้ดังนี้ public class Student{ }
11
การเขียนโปรแกรมเชิงวัตถุโดยใช้ Java : การประกาศ attribute
[modifier] dataType attributeName; modifier คือ keyword ของภาษาจาวาที่ใช้เป็น access modifier เช่น public หรืออธิบายคุณสมบัติอื่นๆ ของคลาส เช่น abstract และ final dataType คือชนิดข้อมูลซึ่งอาจเป็นชนิดข้อมูลแบบพื้นฐานหรือชนิดข้อมูลแบบอ้างอิง attributeName คือชื่อของคุณลักษณะที่เป็นชื่อ identifier ใดๆ ซึ่งสอดคล้องกับกฎการตั้งชื่อ ตัวอย่าง public class Student{ public String id; public String name; public double gpa; }
12
การเขียนโปรแกรมเชิงวัตถุโดยใช้ Java : การประกาศ method
[modifier] return_type methodName ([arguments]){ [method_body] } modifier คือ keyword ของภาษาจาวาที่ใช้เป็น access modifier เช่น public หรืออธิบายคุณสมบัติอื่นๆ ของคลาส เช่น abstract และ final return_type คือชนิดข้อมูลของค่าที่ส่งกลับหลังจากเสร็จสิ้นการทำงานของคำสั่งใน method นี้ โดยชนิดข้อมูลของค่าที่ส่งกลับอาจเป็นชนิดข้อมูลแบบพื้นฐาน หรือชนิดข้อมูลแบบอ้างอิง ในกรณีที่ไม่มีการส่งค่าใดๆ กลับจะต้องระบุชนิดข้อมูลเป็น void methodName คือชื่อของ method ที่เป็นชื่อ identifier ใดๆ ที่สอดคล้องกับกฎการตั้งชื่อ arguments คือตัวแปรที่ใช้ในการรับข้อมูลที่ object ส่งมาให้ โดยอาจมีมากกว่าหนึ่งตัวแปร หรือไม่มีเลยก็ได้ขึ้นอยู่กับการกำหนด method method_body คือคำสั่งต่างๆ ของภาษาจาวาที่อยู่ใน method
13
การเขียนโปรแกรมเชิงวัตถุโดยใช้ Java : การประกาศ method
ตัวอย่าง public class Student{ public string id; public string name; public double gpa; public static final double MIN_GPA = 2.00; public void setID(string ID){ id = ID; } public void setName(string n){ name = n; public void setGPA(double GPA){ gpa = GPA; public void showDetails(){ System.out.println(“ID : “+id); System.out.println(“Name : “+name); System.out.println(“GPA : “+gpa);
14
การเขียนโปรแกรมเชิงวัตถุโดยใช้ Java : การประกาศ object
[modifier] ClassName objectName; modifier คือ keyword ของภาษาจาวาที่ใช้เป็น access modifier เช่น public หรืออธิบายคุณสมบัติอื่นๆ ของคลาส เช่น abstract และ final ClassName คือชื่อของ class objectName คือชื่อของ object ที่เป็นชื่อ identifier ใดๆ ที่สอดคล้องกับกฎการตั้งชื่อ ตัวอย่าง Student s1;
15
การเขียนโปรแกรมเชิงวัตถุโดยใช้ Java : การสร้าง object
objectName = new ClassName([argument]); objectName คือชื่อของ object new คือ keyword ของภาษาจาวาเพื่อใช้ในการสร้าง object ClassName คือชื่อของ class arguments คือตัวแปรที่ใช้ในการรับข้อมูลที่ object ส่งมาให้ โดยอาจมีมากกว่าหนึ่งตัวแปร หรือไม่มีเลยก็ได้ขึ้นอยู่กับการกำหนด method ตัวอย่าง s1 = new Student();
16
การเขียนโปรแกรมเชิงวัตถุโดยใช้ Java : การประกาศและการสร้าง object
[modifier] ClassName objectName = new ClassName([argument]); ตัวอย่าง Student s1 = new Student();
17
การเขียนโปรแกรมเชิงวัตถุโดยใช้ Java : การเรียกใช้สมาชิกของ object
objectName .attributeName; objectName คือชื่อของ object attributeName คือชื่อของคุณลักษณะที่เป็นชื่อ identifier ใดๆ ซึ่งสอดคล้องกับกฎการตั้งชื่อ
18
การเขียนโปรแกรมเชิงวัตถุโดยใช้ Java : การเรียกใช้ method ของ object
objectName .methodName[(arguments)]; objectName คือชื่อของ object methodName คือชื่อ method ของ object นั้น arguments คือค่าที่ต้องการส่งผ่านไปให้กับ method ของ object นั้น โดยที่จะต้องมีชนิดข้อมูลและจำนวน argument ให้สอดคล้องกับที่ประกาศใน method ของ object นั้น ตัวอย่าง s1.setName(“Thana”);
19
หลักการของโปรแกรมเชิงวัตถุ
การห่อหุ้ม (Encapsulation) เป็นคุณลักษณะที่ทำให้ object แต่ละตัวเป็นอิสระต่อกัน ซึ่งทำให้สามารถแบ่งการพัฒนาโปรแกรมออกเป็นส่วนๆ ได้ง่าย การสืบทอด (Inheritance) เป็นคุณลักษณะที่ทำให้สามารถนำโปรแกรมที่พัฒนาแล้วกลับมาใช้ใหม่ได้ง่ายกว่าการเขียนโปรแกรมแบบเชิงกระบวนการ การมีได้หลายรูปแบบ (Polymorphism) เป็นคุณลักษณะที่ทำให้นักพัฒนาโปรแกรมสามารถเพิ่มเติมส่วนต่างๆ ของโปรแกรมได้ง่าย
20
คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : การห่อหุ้ม (Encapsulation)
การห่อหุ้ม คือ กระบวนการซ่อนรายละเอียดการทำงานและข้อมูลไว้ภายในไม่ให้ภายนอกสามารถมองเห็นได้ และเมื่อภายนอกมองไม่เห็นส่งที่ถูกซ่อนไว้ภายในแล้ว ก็จะไม่สามารถทำการเปลี่ยนแปลง แก้ไข หรือสร้างความเสียหายให้กับสิ่งต่างๆ ที่อยู่ภายในได้ ข้อดีของการห่อหุ้ม คือสามารถสร้างความปลอดภัยให้กับข้อมูลได้เนื่องจากข้อมูลจะถูกเข้าถึงได้จากผู้ที่มีสิทธิ์เท่านั้น attribute method รูป หลักการห่อหุ้ม ตัวอย่าง ดังรูป การที่ attribute ของ object ถูกห่อหุ้มอยู่ภายในเพื่อไม่ให้ object อื่นๆ สามารถเข้าถึง attribute ได้โดยตรง การจะเรียกใช้คุณลักษณะของ object จะทำได้โดยการเรียกผ่าน method เท่านั้น
21
คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : ตัวอย่างโปรแกรม การใช้หลักการห่อหุ้ม
ตัวอย่างที่ 1 public class Student{ private string id; // ทำเป็น private เพื่อที่ object อื่นๆจะเข้ามาแก้ไขโดยตรงไม่ได้ private string name; // ทำเป็น private เพื่อที่ object อื่นๆจะเข้ามาแก้ไขโดยตรงไม่ได้ private double gpa; // ทำเป็น private เพื่อที่ object อื่นๆจะเข้ามาแก้ไขโดยตรงไม่ได้ public static final double MIN_GPA = 2.00; public void setID(string ID){ id = ID; } public void setName(string n){ name = n; public void setGPA(double GPA){ gpa = GPA; public void showDetails(){ System.out.println(“ID : “+id); System.out.println(“Name : “+name); System.out.println(“GPA : “+gpa);
22
คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : ตัวอย่างโปรแกรม การใช้หลักการห่อหุ้ม
ตัวอย่างที่ 2 public class Box { private int length; // ทำเป็น private เพื่อที่ object อื่นๆจะเข้ามาแก้ไขโดยตรงไม่ได้ private int width; // ทำเป็น private เพื่อที่ object อื่นๆจะเข้ามาแก้ไขโดยตรงไม่ได้ private int height; // ทำเป็น private เพื่อที่ object อื่นๆจะเข้ามาแก้ไขโดยตรงไม่ได้ public void setLength(int p) { length = p; } public void setWidth(int p) { width = p; public void setHeight(int p) { height = p; public int displayVolume() { System.out.println(length*width*height);
23
คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : ตัวอย่างโปรแกรม การใช้หลักการห่อหุ้ม
ตัวอย่างที่ 3 public class Test{ private int data = 10; // ทำเป็น private เพื่อที่ object อื่นๆจะเข้ามาแก้ไขโดยตรงไม่ได้ public void setData(int data){ // Interface ให้ object อื่นๆมาแก้ไข data this.data = data; } public int getData(){ // Interface ให้ object อื่นๆมารับค่า data data = doSomthing(); return data; private int doSomething(){ // ซ่อน method เพื่อไม่ให้ object อื่นๆเห็น หรือ เรียก method ได้โดยตรง data = data * 5;
24
คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : การสืบทอด (Inheritance)
การสืบทอด คือการนิยามคลาสใหม่จากรูปแบบของ class ที่มีอยู่แล้ว โดย class ใหม่จะนำ attribute และ method ของ class เดิมมาใช้ได้ ข้อดี คือ ความสามารถในการที่จะนำโปรแกรมเดิมมาพัฒนาเพิ่มเติมใหม่ได้ง่ายขึ้น และยังช่วยทำให้โปรแกรมแต่ละโปรแกรมมีขนาดเล็ก ซึ่งทำให้ง่ายต่อการเข้าใจและปรับปรุงแก้ไข โดยในภาษาจาวาจะใช้ keyword คือ extends เพื่อระบุการสืบทอด Student PartTimeStudent GradStudent FullTimeStudent PhDStudent รูป หลักการสืบทอด
25
คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : ตัวอย่างโปรแกรม การใช้หลักการสืบทอด
public class PartTimeStudent extends Student{} public class FullTimeStudent extends Student{} Public class GradStudent extends Student{ private String thesisTitle; private String supervisor; public void setThesisTitle(String t){ thesisTitle = t; } public void setSupervisor(String s){ supervisor = s; public class PhDStudent extends GradStudent{ public boolean passQualify; public boolean isPassQualify(){ return passQulify; public class Student{ private string id; private string name; private double gpa; private static final double MIN_GPA = 2.00; public void setID(string ID){ id = ID; } public void setName(string n){ name = n; public void setGPA(double GPA){ gpa = GPA; public void showDetails(){ System.out.println(“ID : “+id); System.out.println(“Name : “+name); System.out.println(“GPA : “+gpa);
26
คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : การมีได้หลายรูปแบบ(Polymorphism)
การมีได้หลายรูปแบบ คือ คุณสมบัติที่สามารถตอบสนองต่อข่าวสาร (method) เดียวกันด้วยวิธีการที่ต่างกัน และสามารถกำหนด object ได้หลายรูปแบบ ข้อดี คือ ทำให้โปรแกรมสามารถปรับเปลี่ยนหรือเพิ่มเติมได้ง่ายขึ้น Ball SoccerBall TennisBall รูป หลักการมีได้หลายรูปแบบ
27
คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : ตัวอย่างโปรแกรม การใช้หลักการมีได้หลายรูปแบบ
public void calculate(int x) { } public void calculate(double y) { }
28
คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : ตัวอย่างโปรแกรม การใช้หลักการมีได้หลายรูปแบบ
public class Ball{ public void throwBall(){} } public class SoccerBall extends Ball{ public void throwBall(){ System.out.println(“Throwing soccerball”); public class TennisBall extends Ball{ System.out.println(“Throwing tennisball”); public class TestBall{ public static void main(String args[]){ Ball b1 = new Ball(); SoccerBall b2 = new SoccerBall(); Ball b3 = new SoccerBall();
29
คำสั่ง input และ output
ภาษาจาวามี object ที่เป็น input/output มาตรฐานคือ System.in, System.out และ System.err System.in เป็น object ที่มี method สำหรับการอ่านข้อมูลทางอุปกรณ์ input มาตรฐาน โดยทั่วไปคือ keyboard System.out เป็น object ที่มี method สำหรับการแสดงข้อมูลออกทางอุปกรณ์ output มาตรฐาน โดยทั่วไปคือ monitor System.err เป็น object ที่มี method สำหรับการแสดงข้อผิดพลาดออกทางอุปกรณ์ที่ใช้ในการแสดงข้อผิดพลาด โดยทั่วไปคือ monitor
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.