SlideShare a Scribd company logo
การเขียนโปรแกรมเชิงวัตถุ (อังกฤษ: Object-oriented
การเขียนโปรแกรมคอมพิวเตอร ์ที่ให้ความสาคัญกับ วัตถุ ซึ่งสามารถ
ทางานรวมกันได้โดยการแลกเปลี่ยนข่าวสารเพื่อนามาประมวลผลและส่ง
อื่นๆที่เกี่ยวข้องเพื่อให้ทางานต่อไป
1) ทุกสิ่งทุกอย่างคือ objectในแง่หนึ่งเราก็อาจตีความว่า
พิเศษอยู่ในตัวเอง คือ นอกจากเก็บค่าต่าง ๆ ได้แล้ว เรายัง
ให้ object ทางาน (operation) ต่าง ๆ ที่เกี่ยวกับตัวมันเอง
2) Program ประกอบไปด้วย object ที่ต่างก็ส่งข้อความ
กันว่าต้องทาอะไรการส่ง message ก็คือการส่ง request หรือ
ของ object นั้น ๆ
3) Object แต่ละตัวมีหน่วยความจาที่เต็มไปด้วย object อื่น ๆ
object ตัวอื่นที่มีอยู่แล้ว
4) Object มี รูปแบบ หรือ ชนิด ของตัวเอง (type/class)
5) Object ที่ต้นตอมาจาก type แบบเดียวกันสามารถที่จะรับ
Object คือ สิ่งที่มีคุณสมบัติและพฤติกรรมตามที่กาหนดไว้ในคลาส
ออบเจ็กต์(object) แบ่งได้เป็ นสองประเภท คือ
1) สิ่งที่เป็ นรูปธรรม (tangible) คือสิ่งที่เป็ นวัตถุและจับต้องได้อาทิเช่น นักศึกษา ปากกา และรถ
2) สิ่งที่เป็ นนามธรรม (intangible) คือสิ่งที่ไม่สามารถจับต้องได้อาทิเช่น คะแนนรายชื่อวิชา
ตารางเที่ยวบิน เป็ นต้น
1) คุณลักษณะ (attribute) หรือข้อมูล (data)
2) เมธอด (method) หรือพฤติกรรม (behavior)
3) คุณลักษณะ (attribute) หรือข้อมูล (data) ข้อมูลของ Object แต่ละ Object อาจมีข้อมูล
4) เมธอด (method) หรือพฤติกรรม (behavior) สิ่งที่ Object สามารถกระทาได้
ประกอบไปด้วยคุณลักษณะเช่น รหัส ชื่อ และเกรดเฉลี่ยมีเมธอดเช่น ลงทะเบียน การสอบ และ
– รถยนต์ประกอบไปด้วยคุณลักษณะเช่น ยี่ห้อ รุ่น และสีมีเมธอดเช่น เคลื่อนที่ หยุดและเลี้ยว
– สุนัขประกอบไปด้วยคุณลักษณะเช่น ชื่อ พันธุ์และสีมีเมธอดเช่น เห่า คลาน และกระดิกหาง
Class หมายถึงโครงสร ้างของ object โดย class เป็ นตัวกาหนดว่า object นั้นจะมีข้อมูล
และมี method อะไรบ้าง เปรียบเสมือนพิมพ์เขียว (template) ของออปเจ็ค – ออปเจ็คที่ถูกสร ้าง
เป็ น instance ของคลาสคลาสหนึ่งคลาสสามารถสร ้างออปเจ็คได้หลายออปเจ็ค – Object นั้นจะ
ของ JVM โดยที่นักพัฒนาจะต้องนิยาม Class ที่ต้องการให้กับ JVM
ตัวอย่าง คลาส เช่น คลาส Student อาจสร ้างออปเจ็คs1,s2 หรือ s3 ซึ่งเป็ นออปเจ็คของคลาส
คลาสและออบเจ็กต์ การมองทุกอย่างของปัญหาเป็นวัตถุหรืออบเจ็กต์นั้น ถ้าหากวัตถุ
ใดมีลักษณะคล้ายกันก็จะรวมทั้งหมดให้เป็ นคลาส ถ้าหากมีตัวแปรหรือสร ้างข้อมูลขึ้นมา
ข้อมูลนั้นก็จะถูกใช้ในออบเจ็กต์นั้นๆ การกระทากับออบเจ็กต์จะกระทาผ่านเมธอดของ
คลาสนั้นๆ
ส่วนสาคัญสองส่วนของออบเจ็กต์คือ คุณลักษณะซึ่งเป็ นข้อมูลประจาตัวของ
ออบเจ็กต์และพฤติกรรมหรือเมธอด ซึ่งบอกว่าออบเจ็กต์กาลังทาสิ่งใดอยู่ถ้าหากมีการ
สร ้างออบเจ็กต์ขึ้นมาและโปรแกรมต้องการจัดการกับข้อมูลที่เป็ นคุณลักษณะของ
ออบเจ็กต์ก็จะกระทาผ่านเมธอด
สาหรับคลาสจะเป็ นที่รวบรวมของออบเจ็กต์หลายๆ ออบเจ็กต์ที่มีลักษณะ
เดียวกัน แต่อาจมีข้อมูลประจาตัวหรือคุณลักษณะต่างๆ
ดังนั้นในการเขียนโปรแกรมเชิงวัตถุนั้นจะต้องรู้จักการนิยาม คลาส จากที่กล่าว
มาแล้วจะพบว่าคลาสเป็ นการจัดกลุ่มของออบเจ็กที่มีคุณลักษณะและพฤติกรรมอย่าง
เหมือนกัน เปรียบเสมือนเป็ นพิมพ์เขียวของออบเจ็กต์หรือเป็ นแม่แบบสาหรับออบเจ็กต์
ในการเขียนโปรแกรมเชิงวัตถุนั้นจะไม่มีการใช้งานคลาสตรงๆ แต่จะใช่คลาส
เป็ นพิมพ์เขียวเพื่อสร ้างออบเจ็กต์ต่างๆขึ้นมา ออบเจ็กที่ถูกสร ้างจากคลาสจะเรียนกว่า
อินสแตนซ ์ของคลาสนั้นโดยที่คลาสใดคลาสหนึ่งสามารถสร ้างออบเจ็กต์ออกมาได้
สาหรับการเขียนโปรแกรมเชิงวัตถุด้วยภาษต่างๆนั้น จะมีคลาสมาตรฐานให้ผู้เขียนโปรแกรมใช้งาน
และผู้เขียนโปรแกรมก็ต้องเข้าใจวิธีการสร ้างคลาสขึ้นมาเองด้วย ดังนั้นในการเขียนโปรแกรมเชิง
วัตถุจะต้องพยายามจาแนกว่าวัตถุที่เราสนใจนั้นต้องมีตัวแปรใดทีสามารถแยกแยะวัตถุแต่ละตัวได้
และวัตถุดังกล่าวมีพฤติกรรมอย่างไร จากนั้นนามารวมเป็ นคลาส และสร ้างคลาสนั้นขึ้นมา
การสร ้างออบเจ็กต์
หลังจากนิยามคลาสขึ้นมาแล้ว ถ้าหากโปรแกรมต้องการใช้งานจะต้องสร ้างออบเจ็กต์ขึ้นมา
เพื่อบอกว่าออบเจ็กต์เป็นของคลาสใด โดยจะต้องประกาศออบเจ็กต์ขึ้นมาก่อนซึ่งมีรูปแบบดังนี้
ClassName ObjectName;
การประกาศออบเจ็กต์นี้จะทาให้คอมไพเลอร ์รับทราบว่ามีตัวแปร ObjectName แต่จะยัง
ไม่มีหน่วยความจาสาหรับข้อมูลของออบเจ็กต์ที่ประกาศขึ้น ซึ่งจะต้องสร ้างออบเจ็กต์ขึ้นมาก่อน
โดยใช้คาว่า new ซึ่งมีรูปแบบดังนี้
objecyName = new ClassName([arguments])
เมื่อมีการสร ้างออบเจ็กต์ขึ้นมาแล้ว สมาชิกของออบเจ็กต์คือสมาชิกของคลาสนั้น ซึ่งได้แก่
คุณลักษณะหรือตัวแปรและเมธอดต่างๆ ออบเจ็กต์จะสามารถเข้าถึงข้อมูลที่เป็ นคุณลักษณะหรือ
้ ่
สแตติก(static) ในจาวามีคลาสต่างๆให้ใช้งานมากมาย การสร ้างคลาสขึ้นมาใหม่นี้ทาให้เรา
สามารถสร ้างเมธอดใหม่ๆ ขึ้นมาใช้งานแล้วรวมกันเป็ นคลาสได้และที่ผ่านมาในบทนี้จะเห็นว่าถ้า
หากมีการประกาศออบเจ็กต์ต้องการใช้งานสร ้างออบเจ็กต์ด้วยคาสั่ง new เช่นimport java.util.Scanner;
public class Cal_Max {
public static void main(String args[])
{
int num1,num2;
Scanner stdin = new Scanner(System.in);
System.out.print("Input Number 1 : ");
num1 = stdin.nextInt();
System.out.print("Input Number 2 : ");
num2 = stdin.nextInt();
int larger = TestMax.max(num1,num2);
System.out.println("Max Data is "+larger);
}
}
class TestMax
{
static int max(int num1, int num2)
{
if(num1 > num2)
return num1;
else
return num2;
}
}
จากโปรแกรมนี้จะเป็ นว่าเมธอดในคลาส Scanner ที่ใช้รับข้อมูล
ขยะไม่เป็ นแบบสแตติก ซึ่งจะต้องสร ้างออบเจ็กต์ขึ้นมา แต่เมธอด
ชื่อmax ในคลาส TestMax ที่สร ้างขึ้นเป็ นแบบสแตติก จึง
เรียกชื่อคลาสและตามด้วยเมธอดมาใช้งานได้ทันทีโดยไม่ต้องสร ้าง
ออบเจ็กต์
Constructors เป็นฟังก์ชันในคลาสที่จะถูกเรียกอัตโนมัติเมื่อเราสร้างอ็อบเจ็คให้กับคลาสนั้น ๆ ด้วยคาสั่ง new ซึ่งมันจะเป็น
ฟังก์ชัน Constructors ได้ก็ต่อเมื่อชื่อของมันเหมือนชื่อคลาส ถ้าภายในคลาสไม่มี constructor ดังนั้นมันจะทาการเรียก
constructure ของ base class (ถ้ามันมี) เช่น
// ในกรณีที่ไม่ส่งค่าพารามิเตอร์ให้กับ Constructor function $default_cart
= new Constructor_Cart; // ในกรณีนี้ฟังก์ชัน Constructor ของ
Constructor_Cart นั้นได้กาหนดค่า default ให้กับพารามิเตอร์อยู่แล้ว //
ดังนั้นเราก็ไม่จาเป็นต้องส่งค่าพารามิเตอร์ก็ได้ ไม่เกิด error // กรณีที่ส่งค่า
parameter ไปด้วย $different_cart = new Constructor_Cart("20", 17);
?>
การส่งออบเจ็กต์ไปยังเมธอด ในการเขียนโปรแกรมที่มีการสร้างคลาสขึ้นมาหลายๆคลาสนั้น ออบเจ็กต์ของคลาสหนึ่งสามารถ
ใช้เป็นอาร์กิวเมนต์เพื่อส่งผ่านไปยังเมนธอดของคลาสอีกคลาสหนึ่งได้
เช่นโปรแกรมStudent.Java เป็นโปรแกรมคลาสสาหรับเก็บข้อมูลนักเรียน ได้แก่ ชื่อและอีเมลโดยมีเมธอดสาหรับกาหนดและเรียกดู
ชื่อและอีเมลสาหรับใช้งาน
ตัวอย่างการประยุกต์การเขียนโปรแกรมเชิงวัตถุ
จะเป็ นแบบการออกแบบคลาสแล้วนามาเขียนโปรแกรมประยุกต์สาหรับใช้งานจริง โดย
อธิบายขั้นตอนสาคัญในการทางานแต่ละขั้นตอน โดยมีโปรแกรมตัวอย่างการเขียนโปรแกรม
สาหรับเข้ารหัสข้อมูลโดยส่งข้อมูลผ่านเข้าไปในเครือข่ายคอมพิวเตอร ์เพื่อความปลอดภัยได้
นาเทคโนโลยีการเข้ารหัสมาใช้ ทาโดยการเลื่อนข้อมูล แต่ถ้าเป็ นตัวอักขระตัวสุดท้ายของ
ภาษาอังกฤษการเลื่อนข้อมูลจะกลับมาเริ่มต้นที่ตัวแรกใหม่
- ถ้าหากเป็ น 2-shift ข้อมูลจะแทนได้ดังนี้
A แทนด้วย C
B แทนด้วย D
………………..
Y แทนด้วย A
Z แทนด้วย B
ถ้าข้อมูลต้นฉบับเป็ น “DIZZY” แล้วเข้ารหัสแบบ 2- shift ข้อมูลที่เข้ารหัสแล้วจะ
เป็ น “FKBBA”
อธิบายการทางานของโปรแกรม
1.ถ้าหากพิมพ์คาว่า Teerawut ลงไป จะทาให้ตัวแปร message ชี้ไปยังออบเจ็กต์
สตริง “Teerawut”
2.ต่อมาถ้าหากกดคีย์ตัวเลข 5 ลงไป จะทาให้ตัวแปร shift มีค่าเป็ น 5
3.เมื่อโปรแกรมเรียกใช้เมธอด encrypt จะทาให้ msg ซึ่งเป็ นพารามิเตอร ์ของเมธอดชี้ไปยัง

More Related Content

What's hot

5.Methods cs
5.Methods cs5.Methods cs
5.Methods cs
UsableLabs
 
8.Inheritance
8.Inheritance8.Inheritance
8.Inheritance
UsableLabs
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
T'tle Tanwarat
 
Method
MethodMethod
4.Oop
4.Oop4.Oop
4.Oop
UsableLabs
 
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptJava Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented Concept
IMC Institute
 
3.Expression
3.Expression3.Expression
3.Expression
UsableLabs
 
1.Introduction to java
1.Introduction to java1.Introduction to java
1.Introduction to java
UsableLabs
 

What's hot (9)

5.Methods cs
5.Methods cs5.Methods cs
5.Methods cs
 
Class1
Class1Class1
Class1
 
8.Inheritance
8.Inheritance8.Inheritance
8.Inheritance
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
Method
MethodMethod
Method
 
4.Oop
4.Oop4.Oop
4.Oop
 
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptJava Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented Concept
 
3.Expression
3.Expression3.Expression
3.Expression
 
1.Introduction to java
1.Introduction to java1.Introduction to java
1.Introduction to java
 

Similar to คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น

งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5
Boss'Thanasit Tassana
 
Chapter1 uml3
Chapter1 uml3Chapter1 uml3
Chapter1 uml3
Mittapan Chantanyakan
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
Parn Nichakorn
 
องค์ประกอบของวิชวลเบสิก
องค์ประกอบของวิชวลเบสิกองค์ประกอบของวิชวลเบสิก
องค์ประกอบของวิชวลเบสิก
pisan kiatudomsak
 
หน่วยที่ 7 การสร้างคำสั่งอย่างง่าย
หน่วยที่ 7 การสร้างคำสั่งอย่างง่ายหน่วยที่ 7 การสร้างคำสั่งอย่างง่าย
หน่วยที่ 7 การสร้างคำสั่งอย่างง่ายkruthanyaporn
 
ใบความรู้ที่ 4
ใบความรู้ที่ 4ใบความรู้ที่ 4
ใบความรู้ที่ 4Rattana Wongphu-nga
 
ใบความรู้ 5.1รูปแบบรายงานโครงงานคอมพิวเตอร์
ใบความรู้ 5.1รูปแบบรายงานโครงงานคอมพิวเตอร์ใบความรู้ 5.1รูปแบบรายงานโครงงานคอมพิวเตอร์
ใบความรู้ 5.1รูปแบบรายงานโครงงานคอมพิวเตอร์sa_jaimun
 
ภาษาจาวา 1
ภาษาจาวา 1ภาษาจาวา 1
ภาษาจาวา 1
khwanchanokPhraeampha
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 
Presentation 5
Presentation 5Presentation 5
Presentation 5
kitkit1974
 
Presentation 5
Presentation 5Presentation 5
Presentation 5
safdswqe
 
ประเภทของโครงงานคอมพิวเตอร์
ประเภทของโครงงานคอมพิวเตอร์ประเภทของโครงงานคอมพิวเตอร์
ประเภทของโครงงานคอมพิวเตอร์for faii
 
Computer
ComputerComputer
Computer
GanokwanBaitoey
 
Night2
Night2Night2
Night2
Mai Lovelove
 
Nightice612
Nightice612Nightice612
Nightice612
Mai Lovelove
 
เทคโนโลยี 3 g 5 1
เทคโนโลยี 3 g 5 1เทคโนโลยี 3 g 5 1
เทคโนโลยี 3 g 5 1Saranya Butte
 

Similar to คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น (20)

งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5
 
Chapter1 uml3
Chapter1 uml3Chapter1 uml3
Chapter1 uml3
 
Chapter1 uml3
Chapter1 uml3Chapter1 uml3
Chapter1 uml3
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
องค์ประกอบของวิชวลเบสิก
องค์ประกอบของวิชวลเบสิกองค์ประกอบของวิชวลเบสิก
องค์ประกอบของวิชวลเบสิก
 
หน่วยที่ 7 การสร้างคำสั่งอย่างง่าย
หน่วยที่ 7 การสร้างคำสั่งอย่างง่ายหน่วยที่ 7 การสร้างคำสั่งอย่างง่าย
หน่วยที่ 7 การสร้างคำสั่งอย่างง่าย
 
ใบความรู้ที่ 4
ใบความรู้ที่ 4ใบความรู้ที่ 4
ใบความรู้ที่ 4
 
ใบความรู้ 5.1รูปแบบรายงานโครงงานคอมพิวเตอร์
ใบความรู้ 5.1รูปแบบรายงานโครงงานคอมพิวเตอร์ใบความรู้ 5.1รูปแบบรายงานโครงงานคอมพิวเตอร์
ใบความรู้ 5.1รูปแบบรายงานโครงงานคอมพิวเตอร์
 
ภาษาจาวา 1
ภาษาจาวา 1ภาษาจาวา 1
ภาษาจาวา 1
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
Presentation 5
Presentation 5Presentation 5
Presentation 5
 
Presentation 5
Presentation 5Presentation 5
Presentation 5
 
Three.
Three.Three.
Three.
 
ประเภทของโครงงานคอมพิวเตอร์
ประเภทของโครงงานคอมพิวเตอร์ประเภทของโครงงานคอมพิวเตอร์
ประเภทของโครงงานคอมพิวเตอร์
 
Java 7&12 6 2
Java 7&12 6 2Java 7&12 6 2
Java 7&12 6 2
 
Computer
ComputerComputer
Computer
 
Night2
Night2Night2
Night2
 
Nightice612
Nightice612Nightice612
Nightice612
 
เทคโนโลยี 3 g 5 1
เทคโนโลยี 3 g 5 1เทคโนโลยี 3 g 5 1
เทคโนโลยี 3 g 5 1
 
Pj 33
Pj 33Pj 33
Pj 33
 

Recently uploaded

แนวความเชื่อ วิธีการปฎิบัติ พระพุทธศาสนามหายาน.pdf
แนวความเชื่อ วิธีการปฎิบัติ พระพุทธศาสนามหายาน.pdfแนวความเชื่อ วิธีการปฎิบัติ พระพุทธศาสนามหายาน.pdf
แนวความเชื่อ วิธีการปฎิบัติ พระพุทธศาสนามหายาน.pdf
Faculty of BuddhismMahachulalongkornrajavidyalaya Roi Et Buddhist College
 
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา สัมพันธ์ไทย ประโยค ป.ธ.3 (2500-2567).pdf
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา สัมพันธ์ไทย ประโยค ป.ธ.3 (2500-2567).pdf3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา สัมพันธ์ไทย ประโยค ป.ธ.3 (2500-2567).pdf
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา สัมพันธ์ไทย ประโยค ป.ธ.3 (2500-2567).pdf
สุเมธี​​​​ ตี่พนมโอรัล / សុមេធី ទីភ្នំឱរ៉ាល់ (Sumedhi TyPhnomAoral)
 
4_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลไทยเป็นมคธ ประโยค ป.ธ.4 (2505-2567).pdf
4_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลไทยเป็นมคธ ประโยค ป.ธ.4 (2505-2567).pdf4_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลไทยเป็นมคธ ประโยค ป.ธ.4 (2505-2567).pdf
4_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลไทยเป็นมคธ ประโยค ป.ธ.4 (2505-2567).pdf
สุเมธี​​​​ ตี่พนมโอรัล / សុមេធី ទីភ្នំឱរ៉ាល់ (Sumedhi TyPhnomAoral)
 
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา บาลีไวยากรณ์ ประโยค 1-2 (2511-2567).pdf
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา บาลีไวยากรณ์ ประโยค 1-2 (2511-2567).pdf1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา บาลีไวยากรณ์ ประโยค 1-2 (2511-2567).pdf
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา บาลีไวยากรณ์ ประโยค 1-2 (2511-2567).pdf
สุเมธี​​​​ ตี่พนมโอรัล / សុមេធី ទីភ្នំឱរ៉ាល់ (Sumedhi TyPhnomAoral)
 
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค ป.ธ.3 (2500-2567).pdf
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค ป.ธ.3 (2500-2567).pdf3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค ป.ธ.3 (2500-2567).pdf
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค ป.ธ.3 (2500-2567).pdf
สุเมธี​​​​ ตี่พนมโอรัล / សុមេធី ទីភ្នំឱរ៉ាល់ (Sumedhi TyPhnomAoral)
 
การเขียนข้อเสนอโครงการวิจัย (Research Proposal)
การเขียนข้อเสนอโครงการวิจัย (Research Proposal)การเขียนข้อเสนอโครงการวิจัย (Research Proposal)
การเขียนข้อเสนอโครงการวิจัย (Research Proposal)
Prachyanun Nilsook
 
atwordfamily words with Thai translationtx
atwordfamily words with Thai translationtxatwordfamily words with Thai translationtx
atwordfamily words with Thai translationtx
Bangkok, Thailand
 
งานนำเสนอ ภาษากับการสื่อสาร เพื่อการพัฒนา.pdf
งานนำเสนอ ภาษากับการสื่อสาร เพื่อการพัฒนา.pdfงานนำเสนอ ภาษากับการสื่อสาร เพื่อการพัฒนา.pdf
งานนำเสนอ ภาษากับการสื่อสาร เพื่อการพัฒนา.pdf
Faculty of BuddhismMahachulalongkornrajavidyalaya Roi Et Buddhist College
 
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค 1-2 (2510-2567).pdf
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค 1-2 (2510-2567).pdf1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค 1-2 (2510-2567).pdf
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค 1-2 (2510-2567).pdf
สุเมธี​​​​ ตี่พนมโอรัล / សុមេធី ទីភ្នំឱរ៉ាល់ (Sumedhi TyPhnomAoral)
 
ภาษาอังกฤษเพื่อการปฏิบัติกรรมฐานในพระพุทธศาสนา
ภาษาอังกฤษเพื่อการปฏิบัติกรรมฐานในพระพุทธศาสนาภาษาอังกฤษเพื่อการปฏิบัติกรรมฐานในพระพุทธศาสนา
ภาษาอังกฤษเพื่อการปฏิบัติกรรมฐานในพระพุทธศาสนา
Faculty of BuddhismMahachulalongkornrajavidyalaya Roi Et Buddhist College
 

Recently uploaded (10)

แนวความเชื่อ วิธีการปฎิบัติ พระพุทธศาสนามหายาน.pdf
แนวความเชื่อ วิธีการปฎิบัติ พระพุทธศาสนามหายาน.pdfแนวความเชื่อ วิธีการปฎิบัติ พระพุทธศาสนามหายาน.pdf
แนวความเชื่อ วิธีการปฎิบัติ พระพุทธศาสนามหายาน.pdf
 
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา สัมพันธ์ไทย ประโยค ป.ธ.3 (2500-2567).pdf
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา สัมพันธ์ไทย ประโยค ป.ธ.3 (2500-2567).pdf3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา สัมพันธ์ไทย ประโยค ป.ธ.3 (2500-2567).pdf
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา สัมพันธ์ไทย ประโยค ป.ธ.3 (2500-2567).pdf
 
4_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลไทยเป็นมคธ ประโยค ป.ธ.4 (2505-2567).pdf
4_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลไทยเป็นมคธ ประโยค ป.ธ.4 (2505-2567).pdf4_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลไทยเป็นมคธ ประโยค ป.ธ.4 (2505-2567).pdf
4_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลไทยเป็นมคธ ประโยค ป.ธ.4 (2505-2567).pdf
 
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา บาลีไวยากรณ์ ประโยค 1-2 (2511-2567).pdf
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา บาลีไวยากรณ์ ประโยค 1-2 (2511-2567).pdf1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา บาลีไวยากรณ์ ประโยค 1-2 (2511-2567).pdf
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา บาลีไวยากรณ์ ประโยค 1-2 (2511-2567).pdf
 
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค ป.ธ.3 (2500-2567).pdf
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค ป.ธ.3 (2500-2567).pdf3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค ป.ธ.3 (2500-2567).pdf
3_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค ป.ธ.3 (2500-2567).pdf
 
การเขียนข้อเสนอโครงการวิจัย (Research Proposal)
การเขียนข้อเสนอโครงการวิจัย (Research Proposal)การเขียนข้อเสนอโครงการวิจัย (Research Proposal)
การเขียนข้อเสนอโครงการวิจัย (Research Proposal)
 
atwordfamily words with Thai translationtx
atwordfamily words with Thai translationtxatwordfamily words with Thai translationtx
atwordfamily words with Thai translationtx
 
งานนำเสนอ ภาษากับการสื่อสาร เพื่อการพัฒนา.pdf
งานนำเสนอ ภาษากับการสื่อสาร เพื่อการพัฒนา.pdfงานนำเสนอ ภาษากับการสื่อสาร เพื่อการพัฒนา.pdf
งานนำเสนอ ภาษากับการสื่อสาร เพื่อการพัฒนา.pdf
 
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค 1-2 (2510-2567).pdf
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค 1-2 (2510-2567).pdf1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค 1-2 (2510-2567).pdf
1-2_ปัญหาและเฉลยข้อสอบบาลีสนามหลวง วิชา แปลมคธเป็นไทย ประโยค 1-2 (2510-2567).pdf
 
ภาษาอังกฤษเพื่อการปฏิบัติกรรมฐานในพระพุทธศาสนา
ภาษาอังกฤษเพื่อการปฏิบัติกรรมฐานในพระพุทธศาสนาภาษาอังกฤษเพื่อการปฏิบัติกรรมฐานในพระพุทธศาสนา
ภาษาอังกฤษเพื่อการปฏิบัติกรรมฐานในพระพุทธศาสนา
 

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น

  • 1.
  • 2. การเขียนโปรแกรมเชิงวัตถุ (อังกฤษ: Object-oriented การเขียนโปรแกรมคอมพิวเตอร ์ที่ให้ความสาคัญกับ วัตถุ ซึ่งสามารถ ทางานรวมกันได้โดยการแลกเปลี่ยนข่าวสารเพื่อนามาประมวลผลและส่ง อื่นๆที่เกี่ยวข้องเพื่อให้ทางานต่อไป
  • 3. 1) ทุกสิ่งทุกอย่างคือ objectในแง่หนึ่งเราก็อาจตีความว่า พิเศษอยู่ในตัวเอง คือ นอกจากเก็บค่าต่าง ๆ ได้แล้ว เรายัง ให้ object ทางาน (operation) ต่าง ๆ ที่เกี่ยวกับตัวมันเอง 2) Program ประกอบไปด้วย object ที่ต่างก็ส่งข้อความ กันว่าต้องทาอะไรการส่ง message ก็คือการส่ง request หรือ ของ object นั้น ๆ 3) Object แต่ละตัวมีหน่วยความจาที่เต็มไปด้วย object อื่น ๆ object ตัวอื่นที่มีอยู่แล้ว 4) Object มี รูปแบบ หรือ ชนิด ของตัวเอง (type/class) 5) Object ที่ต้นตอมาจาก type แบบเดียวกันสามารถที่จะรับ
  • 4. Object คือ สิ่งที่มีคุณสมบัติและพฤติกรรมตามที่กาหนดไว้ในคลาส ออบเจ็กต์(object) แบ่งได้เป็ นสองประเภท คือ 1) สิ่งที่เป็ นรูปธรรม (tangible) คือสิ่งที่เป็ นวัตถุและจับต้องได้อาทิเช่น นักศึกษา ปากกา และรถ 2) สิ่งที่เป็ นนามธรรม (intangible) คือสิ่งที่ไม่สามารถจับต้องได้อาทิเช่น คะแนนรายชื่อวิชา ตารางเที่ยวบิน เป็ นต้น 1) คุณลักษณะ (attribute) หรือข้อมูล (data) 2) เมธอด (method) หรือพฤติกรรม (behavior) 3) คุณลักษณะ (attribute) หรือข้อมูล (data) ข้อมูลของ Object แต่ละ Object อาจมีข้อมูล 4) เมธอด (method) หรือพฤติกรรม (behavior) สิ่งที่ Object สามารถกระทาได้ ประกอบไปด้วยคุณลักษณะเช่น รหัส ชื่อ และเกรดเฉลี่ยมีเมธอดเช่น ลงทะเบียน การสอบ และ – รถยนต์ประกอบไปด้วยคุณลักษณะเช่น ยี่ห้อ รุ่น และสีมีเมธอดเช่น เคลื่อนที่ หยุดและเลี้ยว – สุนัขประกอบไปด้วยคุณลักษณะเช่น ชื่อ พันธุ์และสีมีเมธอดเช่น เห่า คลาน และกระดิกหาง
  • 5. Class หมายถึงโครงสร ้างของ object โดย class เป็ นตัวกาหนดว่า object นั้นจะมีข้อมูล และมี method อะไรบ้าง เปรียบเสมือนพิมพ์เขียว (template) ของออปเจ็ค – ออปเจ็คที่ถูกสร ้าง เป็ น instance ของคลาสคลาสหนึ่งคลาสสามารถสร ้างออปเจ็คได้หลายออปเจ็ค – Object นั้นจะ ของ JVM โดยที่นักพัฒนาจะต้องนิยาม Class ที่ต้องการให้กับ JVM ตัวอย่าง คลาส เช่น คลาส Student อาจสร ้างออปเจ็คs1,s2 หรือ s3 ซึ่งเป็ นออปเจ็คของคลาส
  • 6. คลาสและออบเจ็กต์ การมองทุกอย่างของปัญหาเป็นวัตถุหรืออบเจ็กต์นั้น ถ้าหากวัตถุ ใดมีลักษณะคล้ายกันก็จะรวมทั้งหมดให้เป็ นคลาส ถ้าหากมีตัวแปรหรือสร ้างข้อมูลขึ้นมา ข้อมูลนั้นก็จะถูกใช้ในออบเจ็กต์นั้นๆ การกระทากับออบเจ็กต์จะกระทาผ่านเมธอดของ คลาสนั้นๆ ส่วนสาคัญสองส่วนของออบเจ็กต์คือ คุณลักษณะซึ่งเป็ นข้อมูลประจาตัวของ ออบเจ็กต์และพฤติกรรมหรือเมธอด ซึ่งบอกว่าออบเจ็กต์กาลังทาสิ่งใดอยู่ถ้าหากมีการ สร ้างออบเจ็กต์ขึ้นมาและโปรแกรมต้องการจัดการกับข้อมูลที่เป็ นคุณลักษณะของ ออบเจ็กต์ก็จะกระทาผ่านเมธอด สาหรับคลาสจะเป็ นที่รวบรวมของออบเจ็กต์หลายๆ ออบเจ็กต์ที่มีลักษณะ เดียวกัน แต่อาจมีข้อมูลประจาตัวหรือคุณลักษณะต่างๆ ดังนั้นในการเขียนโปรแกรมเชิงวัตถุนั้นจะต้องรู้จักการนิยาม คลาส จากที่กล่าว มาแล้วจะพบว่าคลาสเป็ นการจัดกลุ่มของออบเจ็กที่มีคุณลักษณะและพฤติกรรมอย่าง เหมือนกัน เปรียบเสมือนเป็ นพิมพ์เขียวของออบเจ็กต์หรือเป็ นแม่แบบสาหรับออบเจ็กต์ ในการเขียนโปรแกรมเชิงวัตถุนั้นจะไม่มีการใช้งานคลาสตรงๆ แต่จะใช่คลาส เป็ นพิมพ์เขียวเพื่อสร ้างออบเจ็กต์ต่างๆขึ้นมา ออบเจ็กที่ถูกสร ้างจากคลาสจะเรียนกว่า อินสแตนซ ์ของคลาสนั้นโดยที่คลาสใดคลาสหนึ่งสามารถสร ้างออบเจ็กต์ออกมาได้
  • 7. สาหรับการเขียนโปรแกรมเชิงวัตถุด้วยภาษต่างๆนั้น จะมีคลาสมาตรฐานให้ผู้เขียนโปรแกรมใช้งาน และผู้เขียนโปรแกรมก็ต้องเข้าใจวิธีการสร ้างคลาสขึ้นมาเองด้วย ดังนั้นในการเขียนโปรแกรมเชิง วัตถุจะต้องพยายามจาแนกว่าวัตถุที่เราสนใจนั้นต้องมีตัวแปรใดทีสามารถแยกแยะวัตถุแต่ละตัวได้ และวัตถุดังกล่าวมีพฤติกรรมอย่างไร จากนั้นนามารวมเป็ นคลาส และสร ้างคลาสนั้นขึ้นมา การสร ้างออบเจ็กต์ หลังจากนิยามคลาสขึ้นมาแล้ว ถ้าหากโปรแกรมต้องการใช้งานจะต้องสร ้างออบเจ็กต์ขึ้นมา เพื่อบอกว่าออบเจ็กต์เป็นของคลาสใด โดยจะต้องประกาศออบเจ็กต์ขึ้นมาก่อนซึ่งมีรูปแบบดังนี้ ClassName ObjectName; การประกาศออบเจ็กต์นี้จะทาให้คอมไพเลอร ์รับทราบว่ามีตัวแปร ObjectName แต่จะยัง ไม่มีหน่วยความจาสาหรับข้อมูลของออบเจ็กต์ที่ประกาศขึ้น ซึ่งจะต้องสร ้างออบเจ็กต์ขึ้นมาก่อน โดยใช้คาว่า new ซึ่งมีรูปแบบดังนี้ objecyName = new ClassName([arguments]) เมื่อมีการสร ้างออบเจ็กต์ขึ้นมาแล้ว สมาชิกของออบเจ็กต์คือสมาชิกของคลาสนั้น ซึ่งได้แก่ คุณลักษณะหรือตัวแปรและเมธอดต่างๆ ออบเจ็กต์จะสามารถเข้าถึงข้อมูลที่เป็ นคุณลักษณะหรือ ้ ่
  • 8. สแตติก(static) ในจาวามีคลาสต่างๆให้ใช้งานมากมาย การสร ้างคลาสขึ้นมาใหม่นี้ทาให้เรา สามารถสร ้างเมธอดใหม่ๆ ขึ้นมาใช้งานแล้วรวมกันเป็ นคลาสได้และที่ผ่านมาในบทนี้จะเห็นว่าถ้า หากมีการประกาศออบเจ็กต์ต้องการใช้งานสร ้างออบเจ็กต์ด้วยคาสั่ง new เช่นimport java.util.Scanner; public class Cal_Max { public static void main(String args[]) { int num1,num2; Scanner stdin = new Scanner(System.in); System.out.print("Input Number 1 : "); num1 = stdin.nextInt(); System.out.print("Input Number 2 : "); num2 = stdin.nextInt(); int larger = TestMax.max(num1,num2); System.out.println("Max Data is "+larger); } } class TestMax { static int max(int num1, int num2) { if(num1 > num2) return num1; else return num2; } } จากโปรแกรมนี้จะเป็ นว่าเมธอดในคลาส Scanner ที่ใช้รับข้อมูล ขยะไม่เป็ นแบบสแตติก ซึ่งจะต้องสร ้างออบเจ็กต์ขึ้นมา แต่เมธอด ชื่อmax ในคลาส TestMax ที่สร ้างขึ้นเป็ นแบบสแตติก จึง เรียกชื่อคลาสและตามด้วยเมธอดมาใช้งานได้ทันทีโดยไม่ต้องสร ้าง ออบเจ็กต์
  • 9. Constructors เป็นฟังก์ชันในคลาสที่จะถูกเรียกอัตโนมัติเมื่อเราสร้างอ็อบเจ็คให้กับคลาสนั้น ๆ ด้วยคาสั่ง new ซึ่งมันจะเป็น ฟังก์ชัน Constructors ได้ก็ต่อเมื่อชื่อของมันเหมือนชื่อคลาส ถ้าภายในคลาสไม่มี constructor ดังนั้นมันจะทาการเรียก constructure ของ base class (ถ้ามันมี) เช่น // ในกรณีที่ไม่ส่งค่าพารามิเตอร์ให้กับ Constructor function $default_cart = new Constructor_Cart; // ในกรณีนี้ฟังก์ชัน Constructor ของ Constructor_Cart นั้นได้กาหนดค่า default ให้กับพารามิเตอร์อยู่แล้ว // ดังนั้นเราก็ไม่จาเป็นต้องส่งค่าพารามิเตอร์ก็ได้ ไม่เกิด error // กรณีที่ส่งค่า parameter ไปด้วย $different_cart = new Constructor_Cart("20", 17); ?>
  • 10. การส่งออบเจ็กต์ไปยังเมธอด ในการเขียนโปรแกรมที่มีการสร้างคลาสขึ้นมาหลายๆคลาสนั้น ออบเจ็กต์ของคลาสหนึ่งสามารถ ใช้เป็นอาร์กิวเมนต์เพื่อส่งผ่านไปยังเมนธอดของคลาสอีกคลาสหนึ่งได้ เช่นโปรแกรมStudent.Java เป็นโปรแกรมคลาสสาหรับเก็บข้อมูลนักเรียน ได้แก่ ชื่อและอีเมลโดยมีเมธอดสาหรับกาหนดและเรียกดู ชื่อและอีเมลสาหรับใช้งาน
  • 11. ตัวอย่างการประยุกต์การเขียนโปรแกรมเชิงวัตถุ จะเป็ นแบบการออกแบบคลาสแล้วนามาเขียนโปรแกรมประยุกต์สาหรับใช้งานจริง โดย อธิบายขั้นตอนสาคัญในการทางานแต่ละขั้นตอน โดยมีโปรแกรมตัวอย่างการเขียนโปรแกรม สาหรับเข้ารหัสข้อมูลโดยส่งข้อมูลผ่านเข้าไปในเครือข่ายคอมพิวเตอร ์เพื่อความปลอดภัยได้ นาเทคโนโลยีการเข้ารหัสมาใช้ ทาโดยการเลื่อนข้อมูล แต่ถ้าเป็ นตัวอักขระตัวสุดท้ายของ ภาษาอังกฤษการเลื่อนข้อมูลจะกลับมาเริ่มต้นที่ตัวแรกใหม่ - ถ้าหากเป็ น 2-shift ข้อมูลจะแทนได้ดังนี้ A แทนด้วย C B แทนด้วย D ……………….. Y แทนด้วย A Z แทนด้วย B ถ้าข้อมูลต้นฉบับเป็ น “DIZZY” แล้วเข้ารหัสแบบ 2- shift ข้อมูลที่เข้ารหัสแล้วจะ เป็ น “FKBBA” อธิบายการทางานของโปรแกรม 1.ถ้าหากพิมพ์คาว่า Teerawut ลงไป จะทาให้ตัวแปร message ชี้ไปยังออบเจ็กต์ สตริง “Teerawut” 2.ต่อมาถ้าหากกดคีย์ตัวเลข 5 ลงไป จะทาให้ตัวแปร shift มีค่าเป็ น 5 3.เมื่อโปรแกรมเรียกใช้เมธอด encrypt จะทาให้ msg ซึ่งเป็ นพารามิเตอร ์ของเมธอดชี้ไปยัง