งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูวิชาการ สาขาวิชาคอมพิวเตอร์และเทคโนโลยี โรงเรียนมหิดลวิทยานุสรณ์

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูวิชาการ สาขาวิชาคอมพิวเตอร์และเทคโนโลยี โรงเรียนมหิดลวิทยานุสรณ์"— ใบสำเนางานนำเสนอ:

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 ตัวอย่าง 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 Modifier ในภาษาจาวา ใช้ได้ ทั้งหมด package เดียวกัน ต่าง package กัน ต่าง package กัน แต่ เป็นคลาส แม่ คลาส ลูกกัน คลาส เดียวกัน public protecte d  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 คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : ตัวอย่าง โปรแกรม การใช้หลักการห่อหุ้ม 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); } ตัวอย่างที่ 1

22 คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : ตัวอย่าง โปรแกรม การใช้หลักการห่อหุ้ม 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); } ตัวอย่างที่ 2

23 คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : ตัวอย่าง โปรแกรม การใช้หลักการห่อหุ้ม 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; return data; } ตัวอย่างที่ 3

24 คุณลักษณะเด่นของโปรแกรมเชิงวัตถุ : การ สืบทอด (Inheritance) การสืบทอด คือการนิยามคลาสใหม่จากรูปแบบของ class ที่มีอยู่แล้ว โดย class ใหม่จะนำ attribute และ method ของ class เดิมมาใช้ได้ ข้อดี คือ ความสามารถในการที่จะนำโปรแกรมเดิมมาพัฒนาเพิ่มเติมใหม่ได้ ง่ายขึ้น และยังช่วยทำให้โปรแกรมแต่ละโปรแกรมมีขนาดเล็ก ซึ่งทำให้ง่ายต่อการ เข้าใจและปรับปรุงแก้ไข โดยในภาษาจาวาจะใช้ keyword คือ extends เพื่อระบุการ สืบทอด Student PartTimeStudentGradStudentFullTimeStudent 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 SoccerBallTennisBall รูป หลักการมีได้หลายรูปแบบ

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{ public void throwBall(){ 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


ดาวน์โหลด ppt หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูวิชาการ สาขาวิชาคอมพิวเตอร์และเทคโนโลยี โรงเรียนมหิดลวิทยานุสรณ์

งานนำเสนอที่คล้ายกัน


Ads by Google