บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ

Slides:



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

โครงสร้างของภาษา C ในโปรแกรมที่พัฒนาด้วยภาษา C ทุกโปรแกรมจะมีโครงสร้างการพัฒนาไม่แตกต่างกัน ซึ่งประกอบด้วย 6 ส่วนหลัก ๆ โดยที่แต่ละส่วนจะมีหน้าที่แตกต่างกัน.
Suphot Sawattiwong Function ใน C# Suphot Sawattiwong
การจัดการความผิดพลาด
บทที่ 7 รีเคอร์ซีฟ ระหว่างการออกแบบเขียนโปรแกรมแบบบนลงล่าง (Top-down Design) จะมีงานย่อย(Subtask) เพื่อแก้ปัญหาในแต่ละเรื่อง และผู้เขียนโปรแกรมต้องการใช้งานย่อยในลักษณะที่เรียกตัวเองขึ้นมาทำงาน.
ฟังก์ชัน (Function).
Structure Programming
05_3_Constructor.
ปฏิบัติการครั้งที่ 9 ฟังก์ชัน.
การเขียนโปรแกรมภาษาจาวาตอนที่ ๓
ครั้งที่ 7 Composition.
หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์
C Programming Lecture no. 6: Function.
Classification Abstraction
Selected Topics in IT (Java)
PROCEDURE <<โปรแกรมย่อย>>
การสืบทอด (Inheritance)
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 11 การเขียนโปรแกรมภาษาซี
บทที่ 3 Class and Object (1) การสร้างและการใช้งานคลาส
คลาสและวัตถุ (2) (Class & Object)
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 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)
OOP (Object-Oriented Programming)
บทที่ 7 รีเคอร์ซีฟ ระหว่างการออกแบบเขียนโปรแกรมแบบบนลงล่าง (Top-down Design) จะมีงานย่อย(Subtask) เพื่อแก้ปัญหาในแต่ละเรื่อง และผู้เขียนโปรแกรมต้องการใช้งานย่อยในลักษณะที่เรียกตัวเองขึ้นมาทำงานลักษณะของฟังก์ชั่นมีความรอบรัดสั้นกว่าแบบวนลูป.
Lecture 9 Class (คลาส) To do: Hand back assignments
Inheritance การสืบทอดคลาส
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 มิถุนายน 2550 Method of Class มหาวิทยาลัยเนชั่น.
บทที่ 6 เมธอด.
ทำงานกับ File และStream
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
Object Oriented Programming Handling Exceptions
Method of Class อ.สุพจน์ สิงหัษฐิต
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
Lec03 :: หลักการเชิงออปเจ็ค (Object Oriented Concept)
Week 2 Variables.
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
การเขียนโปรแกรม ตอนที่ 1 (ต่อ)
Object-Oriented Programming
บทที่ 3 Class and Object (2).
บทที่ 2 การแสดงผลและรับข้อมูล
บทที่ 4 คำสั่งควบคุมแบบมีทางเลือก
Java Programming Java Structure and Datatype,Variable
การเขียนโปรแกรมคอมพิวเตอร์ 1
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
Recursive Method.
Object Oriented Programming : OOP
การแสดงผลและการรับข้อมูล (Data Output and Input)
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
TECH30201 Object-Oriented Programming
Inheritance และ Encapsulation.  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่ มีอยู่แล้ว  คลาสใหม่จะนำแอตทริบิวต์และเมธอดของ คลาสเดิมมาใช้  เป็นการถ่ายทอดคุณสมบัติจากคลาสหนึ่งสู่อีก.
Object-Oriented Programming
คอนสตรัคเตอร์ (Constructor)
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
การจัดการกับความผิดปกติ
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
เริ่มต้นเขียนโปรแกรมภาษาจา วา (Introduction to JAVA Programming)
2 มิ. ย 2547 โดย วชิราวุธ ธรรมวิเศษ 1 บทที่ 1 แนะนำเทคโนโลยีจาวา Introduction to Java Technology.
บทที่ 3 การสืบทอด (Inheritance)
ใบสำเนางานนำเสนอ:

บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ (Introduction to Object Oriented Programming)

โปรแกรมเชิงวัตถุ (Object Oriented Language: OOP) มองส่วนต่างๆ เป็นวัตถุหรือออบเจ็กต์ที่ไม่ขึ้นต่อกันแต่มีการทำงานร่วมกัน แต่ละออบเจ็กต์ คือขอบเขตของงานส่วนย่อยที่เป็นอิสระต่อกัน ไม่จำเป็นต้องเป็นสิ่งที่จับต้องได้แต่ขอให้มีอยู่จริง เช่น เวลาเป็นสิ่งที่จับต้องไม่ได้ แต่มีอยู่จริง

คุณสมบัติหลักของโปรแกรมเชิงวัตถุ นำกลับมาใช้ใหม่ได้ (Reuse) ประหยัดเวลาในการพัฒนา (Rapid Delivery) ใช้งานง่าย (User Friendly) ดูแลรักษาได้ง่าย ( More Maintainable) มีคุณภาพสูง (Greater Quality System)

ข้อแตกต่างจากโปรแกรมแบบมีโครงสร้าง ภาษาแบบมีโครงสร้าง ภาษาเชิงวัตถุ Top-down Design เน้นขั้นตอนกระบวนการ ใช้ข้อมูลร่วมกัน แยกข้อมูลออกจากฟังก์ชัน Bottom-up Design เน้นการมองเป็นวัตถุ ซ่อนรายละเอียดข้อมูล (Information hiding) ห่อหุ้มข้อมูล (Encapsulation)

คลาส (Class) และออบเจ็กต์ (Object) (1)

คลาส (Class) และออบเจ็กต์ (Object) คลาส คือ สิ่งที่ใช้อธิบายลักษณะและความสามารถของออบเจ็กต์ เปรียบได้กับแม่แบบของออบเจ็กต์ ออบเจ็กต์ คือ สิ่งต่าง ๆ รอบตัว ซึ่งมีคุณลักษณะ (Attribute) และความสามารถในการทำงาน (Method) ตัวอย่างออบเจ็กต์ เช่น คน, รถยนต์, เครื่องคอมพิวเตอร์ เป็นต้น

ตัวอย่างคลาส ให้ภาษีเป็นคลาส คุณลักษณะของภาษี คือ อัตราภาษี, จำนวนเงินภาษีที่ต้องจ่าย ส่วนการทำงานคือ การคำนวณจำนวนเงินภาษีที่ต้องจ่าย

ขั้นตอนการใช้งานคลาส การประกาศคลาส การประกาศแอตทริบิวต์  การประกาศเมธอด การประกาศออบเจ็กต์ การเข้าถึงสมาชิกของคลาส

การประกาศคลาส [modifier] class ClassName { [AttributeName] [MethodName] } โดยที่ modifier เป็นคีย์เวิร์ดที่กำหนดคุณสมบัติการเข้าถึงคลาส ClassName เป็นชื่อคลาส AttributeName เป็นส่วนของการประกาศแอตทริบิวต์ MethodName เป็นส่วนของการประกาศเมธอด 

การประกาศแอตทริบิวต์ [modifier] dataType AttributeName;   โดยที่ modifier เป็นคีย์เวิร์ดที่กำหนดคุณสมบัติการเข้าถึงแอตทริบิวต์ dataType เป็นชนิดข้อมูลของแอตทริบิวต์ AttributeName เป็นชื่อแอตทริบิวต์

การประกาศเมธอด [modifier] return_type Methodname ([parameter]) { [method_body] return varValue; } โดยที่ modifier เป็นคีย์เวิร์ดที่กำหนดคุณสมบัติการเข้าถึงเมธอด return_type เป็นชนิดของข้อมูลที่เมธอดจะส่งค่ากลับ ในกรณีที่ไม่มีการส่งค่ากลับ ให้กำหนดเป็น void MethodName เป็นชื่อเมธอด parameter เป็นตัวแปรที่ใช้ในการรับข้อมูล method_body เป็นชุดคำสั่งการทำงานของเมธอด varValue เป็นค่าที่ต้องการส่งค่ากลับ ในกรณีที่กำหนดให้ return_type เป็น void จะไม่มีคำสั่ง return

การประกาศออบเจ็กต์ ClassName ObjectName;   และสามารถสร้างออบเจ็กต์ได้ตามรูปแบบดังนี้  ObjectName = new ClassName(); หรือ  ClassName ObjectName = new ClassName();   โดยที่ modifier เป็นคีย์เวิร์ดที่กำหนดคุณสมบัติการเข้าถึงออบเจ็กต์ ClassName เป็นชื่อของคลาสที่ใช้สร้างออบเจ็กต์นั้น ObjectName เป็นชื่อออบเจ็กต์ที่ประกาศใช้งาน

การเข้าถึงสมาชิกของคลาส   ObjectName.AttributeName;   โดยที่ ObjectName เป็นชื่อออบเจ็กต์ AttributeName เป็นชื่อแอตทริบิวต์ที่ต้องการใช้งาน   ObjectName.MethodName ([argument]);  หรือ  dataType MethodValue = ObjectName.MethodName ([argument]); MethodName เป็นชื่อเมธอดที่ต้องการใช้งาน argument เป็นค่าที่ต้องการส่งผ่านไปให้เมธอดที่ต้องการใช้งาน dataType เป็นชนิดข้อมูลของเมธอดที่มีการคืนค่า MethodValue เป็นตัวแปรที่ใช้เก็บค่าที่ได้จากการคืนค่าของเมธอด

โปรแกรมที่ 1 (1) จงเขียนโปรแกรมรับข้อมูลราคาสินค้าคำนวณราคารวม แสดงผลราคาสินค้าและราคารวมทางจอภาพ (กำหนดให้ราคารวม = ราคาสินค้า + ภาษี 7%)

โปรแกรมที่ 1 (2) import java.util.Scanner; public class ex1_000 { public static void main(String[] args) { System.out.print("Enter product price >>> " ); Scanner scan = new Scanner(System.in); double productPrice = scan.nextDouble(); double totalPrice = productPrice + (0.07 * productPrice); System.out.println("product price = " + productPrice + " baht"); System.out.println("total price = " + totalPrice + " baht"); }

โปรแกรมที่ 2 (1) จงเขียนโปรแกรม รับข้อมูลราคาสินค้า เรียกใช้เมธอดคำนวณราคารวม double calProduct(double productPrice) จากคลาส product แสดงผลราคาสินค้าและราคารวมทางจอภาพ (กำหนดให้ราคารวม = ราคาสินค้า + ภาษี 7%)

โปรแกรมที่ 2 (2) import java.util.Scanner; class product { public double calProduct(double productPrice) { double totalPrice = 0.07 * productPrice; return totalPrice; } public class ex2_000 { public static void main(String[] args) { System.out.print("Enter product price >>> " ); Scanner scan = new Scanner(System.in); double productPrice = scan.nextDouble(); product p = new product(); double totalPrice = p.calProduct(productPrice); System.out.println("product price = " + productPrice + " baht"); System.out.println("total price = " + totalPrice + " baht");

รูปแบบการเรียกใช้งานเมธอด เมธอดไม่มีการรับพารามิเตอร์และไม่มีการคืนค่า เมธอดมีการรับพารามิเตอร์แต่ไม่มีการคืนค่า เมธอดไม่มีการรับพารามิเตอร์แต่มีการคืนค่า เมธอดมีการรับพารามิเตอร์และมีการคืนค่า

เมธอดไม่มีการรับพารามิเตอร์และไม่มีการคืนค่า มีรูปแบบการเรียกใช้ดังนี้ ObjectName.MethodName (); โดยที่ ObjectName เป็นชื่อออบเจ็กต์ MethodName เป็นชื่อเมธอดที่ต้องการใช้งาน

เมธอดมีการรับพารามิเตอร์แต่ไม่มีการคืนค่า มีรูปแบบการเรียกใช้ดังนี้ ObjectName.MethodName ([argument]); โดยที่ ObjectName เป็นชื่อออบเจ็กต์ MethodName เป็นชื่อเมธอดที่ต้องการใช้งาน argument เป็นค่าข้อมูลที่ต้องการส่งผ่านไปให้เมธอด

เมธอดไม่มีการรับพารามิเตอร์แต่มีการคืนค่า มีรูปแบบการเรียกใช้ดังนี้ dataType MethodValue = ObjectName.MethodName (); โดยที่ ObjectName เป็นชื่อออบเจ็กต์ MethodName เป็นชื่อเมธอดที่ต้องการใช้งาน dataType เป็นชนิดข้อมูลของเมธอดที่มีการคืนค่า MethodValue เป็นตัวแปรที่ใช้เก็บค่าที่ได้จากการคืนค่าของเมธอด

เมธอดมีการรับพารามิเตอร์และมีการคืนค่า มีรูปแบบการเรียกใช้ดังนี้ dataType MethodValue = ObjectName.MethodName ([argument]); โดยที่ ObjectName เป็นชื่อออบเจ็กต์ MethodName เป็นชื่อเมธอดที่ต้องการใช้งาน argument เป็นค่าข้อมูลที่ต้องการส่งผ่านไปให้เมธอด dataType เป็นชนิดข้อมูลของเมธอดที่มีการคืนค่า MethodValue เป็นตัวแปรที่ใช้เก็บค่าที่ได้จากการคืนค่าของเมธอด