ݺߣ
Submit Search
คลาสและการขียนโปรแกรมเชิงวัตถุบื้องต้น
•
Download as PPTX, PDF
•
0 likes
•
500 views
Tua Tor
Follow
-
Read less
Read more
1 of 15
Download now
Download to read offline
More Related Content
คลาสและการขียนโปรแกรมเชิงวัตถุบื้องต้น
1.
คลาสและการขียนโปรแกรมเชิงวัตถุบื้องต้น สมาชิก นายพณัฏฐ์ โชติกุญชร เลขที่
2 นายฉัตรกาล สืบต้อย เลขที่ 5 นางสาวณัฐวรินทร์ ภังคานนท์ เลขที่ 23 นางสาวณัฐวดี สืบเรือง เลขที่ 33 นางสาวสุธิศา แสนพรม เลขที่ 35 นางสาวอิสรีย์ นาคศรีโภชน์ เลขที่ 36 ชั้น มัธยมศึกษาปีที่ 6/2
2.
การเขียนโปรแกรมเชิงวัตถุ(OBJECT ORIENTED PROGRAMMING: OOP) ความหมายการโปรแกรมเชิงวัตถุ
(Object Oriented Programming) การโปรแกรมเชิงวัตถุ (Object Oriented Programming) หรือเรียกสั้น ๆ ว่า OOP เป็นวิธีการเขียนโปรแกรมโดยมองสิ่งต่างๆ ในระบบ เช่น ตัวอักษร, รูปภาพ, หน้าต่าง, แบบฟอร์ม ฯลฯ เป็นวัตถุหนึ่งชิ้น อ็อบเจ็กต์ (Object) จัดเป็นตัวแปรชนิดหนึ่ง ของ Class ใช้ Object ในการเข้าถึงและจัดเก็บ ข้อมูลต่างๆ ภายใน Class เช่น Class ของปุ่มคาสั่ง ภายใน Form อาจประกอบไปด้วย Object : Add, Save, Delete, Find และ Close เป็นต้น
3.
หลักการสาคัญของการโปรแกรมเชิงวัตถุ การเขียนโปรแกรมแบบ OOP จะเน้นที่
“Object & Class” นั่นก็หมายความว่า พยายามมองทุกสิ่งทุกอย่างในมุมของการโปรแกรมให้เป็น Object ซึ่ง Object เป็นสมาชิก ของ Class แต่นอกเหนือจากนี้ OOP ยังมีหลักการและความสามารถในเรื่องต่อไปนี้ วัตถุ (Object) คือ การมองภาพสิ่งต่าง ๆ เป็นวัตถุ เป้ าหมาย ภายใน Object ประกอบด้วย Properties (คุณสมบัติ ของ Object) กับ Behavior (พฤติกรรมการตอบสนองต่อเหตุการณ์ :Event ต่าง ๆ ของ Object) - ตัวอย่างของ Object ในโลกแห่งความเป็นจริง เช่น “Object : มนุษย์” ประกอบด้วยคุณสมบัติ (Properties) สีผม , สีผิว ,ความสูง, สัดส่วน เป็น ต้น และมีพฤติกรรมการตอบสนองต่อเหตุการณ์ (Behavior) เช่น ตอบสนองต่อการถูกชก ต่อย ตอบสนองต่อเหตุการณ์ถูกไล่ล่า เป็นต้น
4.
“Object : จักรยาน”
ประกอบด้วยคุณสมบัติ (Properties) สีรถ , ขนาด ,รุ่น, ประเภท เป็นต้น และ มีพฤติกรรมการตอบสนองต่อเหตุการณ์ (Behavior) เช่น ตอบสนองต่อการปันจักรยาน ตอบสนองต่อ เหตุการณ์เบรก เป็นต้น - ตัวอย่างของ Object ในมุมมองทางด้านโปรแกรม Object : ปุ่ม ประกอบด้วยคุณสมบัติ (Properties) ข้อความบนปุ่ม , ขนาดของปุ่ม ,สีของปุ่ม, Stye ของปุ่ม เป็นต้น และมีพฤติกรรมการตอบสนองต่อ เหตุการณ์ (Behavior) เช่น ตอบสนองต่อการถูก Click เป็นต้น
5.
คลาส (Class) คือ เป็นต้นแบบหรือแม่พิมพ์
ที่ใช้ในการผนวกหลาย ๆ Object เข้าด้วยกัน โดยจัดกลุ่ม Object ที่มีความ คล้ายคลึงกันอยู่ใน Class เดียวกัน - ตัวอย่างของ Class ในโลกแห่งความเป็นจริง เช่น “Class: มวยสากล” ประกอบด้วย
6.
จะเห็นได้ว่าแต่ละ Object จะมี
Properties และ Behavior ที่แตกต่างกัน เช่น “Object สมรักษ์” มีลักษณะตัวสูง พูดจาโอ้อวดนิด ๆ มีพฤติกรรมในการชกที่สามารถ ออกหมัดได้เร็ว และแม่นยา ซึ่ง Properties และ Behavior นี้ก็จะมีลักษณะที่ แตกต่างไปจาก “Object สามารถ” การสร้าง Class ก็เช่นเดียวกับการจัดกลุ่มข้อมูล เราจะไม่นา “Object ของมวย ไทย” เข้ามาปะปนกับ “Object ของมวลสากล” เพราะทางานคนละลักษณะกัน
7.
ตัวอย่างของ Class ในมุมมองทางด้านโปรแกรม “Class:
ปุ่มคาสั่ง” ประกอบด้วย
8.
การนิยามคลาส ในภาษาจาวาสามารถนิยามคลาสหรือประกาศคลาสขึ้นมาโดยมีรูปแบบดังนี้ [AccessSpecifier] Class Name { Members } AccessSpecifier
เป นความสามารถในการเข าถึงคลาสนั้นๆ class เป นคีย เวิร ดในภาษาจาวาเพท อใช ในการประกาศคลาส Name เป นชื่อคลาสมี่ประกาศขึ้น Members เป นคุณลักษณะหรือเมธอดต างๆ ของคลาสที่นิยามขึ้น การสร างออบเจ็กต หลังจากนิยามคลาสขึ้นมาแล ว ถ าหากโปรแกรมต องการใช งานจะต องสร างออบเจ็กต ขึ้นมา เพื่อบอกว าออบเจ็กต เป นของคลาสใด โดยจะต องประกาศออบเจ็กต ขึ้นมาก อนซึ่งมีรูปแบบดังนี้ ClassName ObjectName; การประกาศออบเจ็กต นี้จะทาให คอมไพเลอร รับทราบว ามีตัวแปร ObjectName แต จะยังไม มีหน วยความจาสาหรับข อมูลของออบเจ็กต ที่ประกาศขึ้น ซึ่งจะต องสร างออบเจ็กต ขึ้นมาก อนโดยใช คาว า new ซึ่งมีรูปแบบดังนี้ objecyName = new ClassName([arguments]) เมือมีการสร างออบเจ็กต ขึ้นมาแล ว สมาชิกของออบเจ็กต คือสมาชิกของคลาสนั้น ซึ่งได แก คุณลักษณะหรือตัวแปรและเมธอดต างๆ ออบเจ็กต จะสามารถเข าถึงข อมูลที่เป นคุณลักษณะหรือเรียกใช เมธ อดได ไม ขึ้นกับaccessSpecifier ที่ถูกประกาศไว ตอนนิยามคลาส โดยการเรียกใช สมาชิกจะทาโดยใช
9.
สแตติก(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; }
10.
จากโปรแกรมนี้จะเป นว าเมธอดในคลาส
Scanner ที่ใช รับข อมูลจะไม เป นแบบสแตติก ซึ่งจะต องสร างออบเจ็กต ขึ้นมา แต เมธอดชื่อmax ในคลาส TestMax ที่สร างขึ้นป นแบบสแตติก จึงเรียกชื่อคลาสและตามด วยเมธอดมาใช งานได ทันทีโดยไม ต องสร างออบเจ็กต
11.
Constructors เป นฟ
งก ชันในคลาสที่จะถูกเรียกอัตโนมัติเมื่อเราสร างอ็อบเจ็คให กับคลา สนั้น ๆ ด วยคําสั่ง newซึ่งมันจะเป นฟ งก ชัน Constructors ได ก็ต อเมื่อชื่อของมันเหมือนชื่อคลาส ถ าภายในคลาสไม มี constructor ดังนั้นมันจะทําการเรียก constructure ของ base class(ถ ามันมี) เช น <?php class Auto_Cart extends Cart { function Auto_Cart() { $this->add_item("10", 1); } } ?> Constructorsfunction นั้นสามารถรับค าพารามิเตอร ได เช นกันดังนี้ <?php class Constructor_Cart extends Cart { function Constructor_Cart($item = "10", $num = 1) { $this->add_item($item,$num); } } // ในกรณีที่ไม ส งค าพารามิเตอร ให กับConstructor function $default_cart = new Constructor_Cart; // ในกรณีนี้ฟ งก ชัน Constructor ของ Constructor_Cart นั้นได กําหนดค า default ให กับพารามิเตอร อยู แล ว // ดังนั้นเราก็ไม จําเป นต องส งค าพารามิเตอร ก็ได ไม เกิด error // กรณีที่ส งค า parameter ไปด วย $different_cart = new Constructor_Cart("20", 17); ?>
12.
การส งออบเจ็กต ไปยังเมธอด
ในการเขียนโปรแกรมที่มีการสร างคลาสขึ้นมาหลายๆคลาสนั้นออบเจ็กต ของคลาสห นึ่งสามารถใช เป นอาร กิวเมนต เพื่อส งผ านไปยังเมธอดของคลาสอีกคลาสหนึ่ง ได เช นโปรแกรมStudent.Java เป นโปรแกรมคลาสสาหรับเก็บข อมูลนักเรียน ได แก ชื่อและอีเมล โดยมี เมธอดสาหรับกาหนดและเรียกดูชื่อและอีเมล สาหรับใช งาน public class Student3 { private String name; private String email; public Student3() { name = "Unassigned"; email = "Unassigned"; } public String getEmail(){ return email; } public String getName(){ return name; } public void setEmail(String address){ email = address; } public void setName(String studentName){ name = studentName; }
13.
ตัวอย างการประยุกต การเขียนโปรแกรมเชิงวัตถุ จะเป
นแบบการออกแบบคลาสแล วนํามาเขียนโปรแกรมประยุกต สําหรับใช งานจริงโดยอธิบายขั้นตอนสําคัญในการท ขั้นตอนโดยมีโปรแกรมตัวอย างการเขียนโปรแกรมสําหรับเข ารหัสข อมูลโดยส งข อมูลผ านเข าไปในเครือข ายคอม ปลอดภัยได นําเทคโนโลยีการเข ารหัสมาใช ทําโดยการเลื่อนข อมูล แต ถ าเป นตัวอักขระตัวสุดท ายของภาษาอังกฤ กลับมาเริ่มต นที่ตัวแรกใหม - ถ าหากเป น2-shift ข อมูลจะแทนได ดังนี้ A แทนด วย C B แทนด วย D ……………….. Y แทนด วย A Z แทนด วย B ถ าข อมูลต นฉบับเป น“DIZZY”แล วเข ารหัสแบบ2- shift ข อมูลที่เข ารหัสแล วจะเป น “FKB อธิบายการทํางานของโปรแกรม 1.ถ าหากพิมพ คําว าTeerawut ลงไป จะทําให ตัวแปร message ชี้ไปยังออบเจ็กต สตริง“Teerawut” 2.ต อมาถ าหากกดคีย ตัวเลข5 ลงไป จะทําให ตัวแปร shift มีค าเป น 5 3.เมื่อโปรแกรมเรียกใช เมธอด encrypt จะทําให msg ซึ่งเป นพารามิเตอร ของเมธอดชี้ไปยังออบเจ็กต เดียวกับmessage และ พารามิเตอร shiftมีค าเป น 5 เช นกัน 4.เมื่อเมธอด encrypt ทํางาน ทําให ตัวแปร encryptedMessage ชี้ไปยังหน อยความจําออบเจ็กต สตริงที่สร างขึ้นมาใหม 5.จากนั้นจะทําให ตัว แปร msg ชี้ไปยังสตริงชุดใหม ที่ผ านการเข ารหัสแล ว 6.หลังจากนั้นจะให encryptedMessage มีค าสตริงที่เข ารหัสแล ว
14.
ตัวอย างโปรแกรม จะแสดงการสร
างคลาสของการนาตัวอักขระ[]มาสร างเป นรูปสามเหลี่ยม โดย การสร างคลาสสามารถทาได ดังต อไปนี้ 1.สร างโปรเจ็กต ใหม 2.สร างคลา สใหม โดยเลือกเมนู New>Class 3.กาหนดชื่อคลาส แล วกด Next 4.โปรแกรมจะแสดงคลาสใหม ขึ้นมา 5.จากนั้นให เติมโค ด แล วรันโปรแกรม สรุป คลาสเปรียบเสมือนพิมพ เขียวสาหรับสร างออบเจ็กต ต างๆออกมาที่มีลักษณะ คล ายกัน มาอยู รวมกัน ในการสร างค ลาสนั้น ภายในประกอบด วยส วนที่เป นคุณลักษณะหรือตัวแปรต างๆและส วนที่เป นเมธอดโดย ที่ตัวแปรและเมธอดนี้ผที่นิยามคลาส ูู สามารถกาหนดได ว าจะให ผู ใช ภายนอกสามารถเข าถึงได ในระดับใด เมื่อมีการออบเจ็กต ของคลาสขึ้นมาแล วต องการให ทาเมธอดใด ทันที ในการนิยามคลาสนั้นจะต องสร างเมธอดที่มีชื่อเดียวกับคลาสที่เรียกว า คอนสตรัคเตอร ขึ้นมา
15.
THE END
Download