SlideShare a Scribd company logo
1 of 10
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
ความหมายของ OOP
OOP (Object Oriented Programming) เป็นวิธีการเขียนโปรแกรมซึ่งจัดดา เนินการกับกลุ่ม
ของ ออบเจ็กต์ (Object) ที่มีอยู่ในโปรแกรม ออบเจ็กต์ เป็นชนิดของข้อมูลซึ่งประกอบไปด้วยกลุ่มของ ข้อมูล(data)
และกลุ่มของฟังก์ชัน(Function) โดยการใช้ข้อมูลและฟังก์ชันเหล่านี้ แต่ละออบเจ็กต์จะทา งาน 1 งานได้
สมบูรณ์
(ทั้งนี้เนื่องจากตัวออบเจ็กต์เองประกอบไปด้วยข้อมูลและฟังก์ชัน) ออบเจ็กต์ เป็นสมาชิกของ ตัวแปรคลาส (class
variable) มีลักษณะเป็นโมดูล (modularity) ซึ่งประกอบไปด้วย ตัวแปร ชนิดต่าง ๆ ที่สัมพันธ์กัน และ
ประกอบด้วย ฟังก์ชัน ต่าง ๆ โดยที่ คลาส(class) จะห่อหุ้มข้อมูลและฟังก์ชันรวมไว้ด้วยกันมีลักษณะที่เรียกว่า
encapsulation ดังนั้นจึงมีความสะดวกในการใช้งาน สามารถป้องกันส่วนอื่น ๆ ของโปรแกรมไม่ให้เข้าถึงตัว
แปรชนิดโลคอลภายในคลาสได้อย่างดีเยี่ยม ดังนั้น การเขียนโปรแกรมแบบ OOP คือ การสร้างและ/หรือการ
เรียกใช้ออบเจ็กต์ให้ทางานตามที่เราต้องการ ในการเรียกใช้ออบเจ็กต์นั้น เราจะสนใจเฉพาะการทา งานของออบ
เจ็กต็เท่านั้น ไม่จา เป็นต้องสนใจรายละเอียดภายในของออบเจ็กต์ว่าเป็นอย่างไรการใช้ออบเจ็กต์ของโปรแกรมจะมี
ลักษณะคล้ายกับการใช้สิ่งของในชีวิตประจา วันของเรา เช่น การใช้โทรทัศน์ เราสามารถใช้ได้โดยไม่จา เป็นต้องรู้ว่า
ภายในเครื่องโทรทัศน์มี "ส่วนประกอบ" อะไรบ้าง และไม่จา เป็นต้องรู้ว่าแต่ละส่วนประกอบทา งานอย่างไร เราจะรู้
เพียงแค่วิธีใช้ เช่น วิธีเปิด วิธีเปลี่ยนช่อง วิธีปรับเสียง วิธีปรับสี วิธีตั้งเวลา วิธีปิดเครื่อง เป็นต้น ลักษณะของ
โปรแกรมแบบ OOPก็มีลักษณะคล้ายกับการใช้โทรทัศน์ในชีวิตประจา วัน ซึ่งจะได้ศึกษาถึงวิธีการสร้างและ
วิธีการใช้ OOP ต่อไป
คลาสกับ OBJECT
คลาสกับ object เป็นสองสิ่งที่มีความเกี่ยวข้องกันโดยตรง คลาสคือโค้ดที่เราเขียนขึ้นเพื่อทาหน้าที่เป็นพิมพ์เขียวของ
object การสร้าง object จากคลาสเรียกว่าการทา instantiation การสร้าง object จากคลาส เทียบ
ได้กับการทาขนมครกสิงคโปร์ เตาขนมจะมีหลุมหลายหลุม แต่ละหลุมมีลวดลายไม่เหมือนกัน ขนมครกที่ได้จากแต่ละ
หลุมจึงมีรูปร่างต่างๆ กัน คลาสคือหลุมหนึ่งหลุม ขนมครกที่ได้คือ instance ของ object
เราเรียก object หนึ่ง object ว่าหนึ่ง instance เราสามารถสร้าง object ได้หลายๆ instance จากคลาส
เพียงคลาสเดียว จากตัวอย่างขนมครกสิงคโปร์ ในวันหนึ่งๆ แม่ค้าจะทาขนมครกได้เป็นจานวนมากจากหลุมแต่ละ
หลุม ส่วนในภาษา C# หากเราสร้างคลาสหนึ่งคลาส ยกตัวอย่างเช่น เป็นคลาสเพื่อนิยาม node หลังจากนั้นเรา
อาจเขียนโปรแกรมสร้าง binary tree ซึ่งขณะทางานมันอาจจะสร้าง object จากคลาส node ได้หลาย
ล้าน instance ภายในหนึ่งวินาที
การใช้งานคลาสทาได้สองวิธี วิธีแรกคือการนาไปใช้สร้าง object และใช้งานผ่าน object ดังที่อธิบายไปแล้ว อีกวิธี
หนึ่งคือเรียกใช้โดยตรงโดยไม่ต้องสร้าง object เรียกว่า static class แม้การใช้งานคลาสวิธีนี้จะไม่มี
object ทาให้ดูเหมือนไม่เป็นหลักการ OOP แต่ในบางสถานการณ์ก็ถือว่ามีความเหมาะสมดี
การนิยามคลาส
ในภาษาจาวาสามารถนิยามคลาสหรือปีะกาศคลาสขึ้นมาโดยมีรูปแบบดังนี้
[AccessSpecifier] Class Name
{
Members
}
AccessSpecifier เป็นความสามารถในการเข้าถึงคลาสนั้นๆ
class เป็นคีย์เวิร์ดในภาษาจาวาเพท่อใช้ในการประกาศคลาส
Name เป็นชื่อคลาสมี่ประกาศขึ้น
Members เป็นคุณลักษณะหรือเมธอดต่างๆ ของคลาสที่นิยามขึ้น
การสร้างออบเจ็กต์
หลังจากนิยามคลาสขึ้นมาแล้ว ถ้าหากโปรแกรมต้องการใช้งานจะต้องสร้างออบเจ็กต์ขึ้นมา เพื่อบอกว่าออบเจ็กต์เป็นของคลาสใด โดย
จะต้องประกาศออบเจ็กต์ขึ้นมาก่อนซึ่งมีรูปแบบดังนี้
ClassName ObjectName;
การประกาศออบเจ็กต์นี้จะทาให้คอมไพเลอร์รับทราบว่ามีตัวแปร ObjectName แต่จะยังไม่มีหน่วยความจาสาหรับข้อมู,ของ
ออบเจ็กต์ที่ประกาศขึ้น ซึ่งจัต้องสร้างออบเจ็กต์ขึ้นมาก่อนโดยใช้คาว่า new ซึ่งมีรูปแบบดังนี้
objecyName = new ClassName([arguments])
เมืื่อมีการสร้างออบเจ็กต์ขึ้นมาแล้ว สมาชิกของออบเจ็กต์คือสมาชิกของคลาสนั้น ซึ่งได้แก่คุณลักษณะหรือตัวแปรและเมธอดต่างๆ
ออบเจ็กต์จะสามารถเข้าถึงข้อมูลที่เป็นคุณลักษณะหรือเรียกใช้เมธอดได้ไม่ขึ้นกับaccessSpecifier ที่ถูกประกาศไว้ตอน
นิยามคลาส ดดยการเรียกใช้สมาชิกจะทาโดยใช้เครื่องหมายจุด แล้วตามด้วยสมาชิกที่ต้องการเรียกใช้
STATIC
• ตัวแปรและเมท็อดที่เป็น static
• คีย์เวิร์ด static เป็นคีย์เวิร์ดที่ใช้ประกาศหน้าตัวแปรและเมท็อด ความพิเศษของ static คือว่าโดยปกติเวลาจะสร้างอ็อปเจ็คต้องทาการ new อ็อปเจ็คขึ้นมา ตัวแปรอ็อปเจ็คก็จะอ้างอิงไปที่อ็
อปเจ็คที่สร้างขึ้น แล้วก็เอาตัวแปรนี้ไปเรียกใช้ตัวแปร ใช้เมท็อด แต่ถ้าตัวแปรหรือเมท็อดนั้นเป็น static ก็จะทาให้สามารถใช้ตัวแปรหรือเมท็อดนั้นได้เลยโดยไม่ต้องสร้างอ็อปเจ็คมาเรียกใช้
งาน
• สาหรับตัวแปรที่เป็น static นั้น จะทาให้ตัวแปรนั้นเป็นตัวแปรของคลาสไม่ได้เป็นของอ็อปเจ็คใดอ็อปเจ็คหนึ่ง ถ้ามีการเปลี่ยนแปลงขึ้นกับตัวแปร static อ็อปเจ็คอื่นๆทั้งหมดจะมองเห็นการ
เปลี่ยนแปลง
วิธีประกาศ
• สาหรับตัวแปร modifier static ชนิดตัวแปร ชื่อตัวแปร ;
• สาหรับเมท็อด modifier static ประเภทผลลัพธ์ ชื่อเมท็อด( ) { }
• วิธีการเรียกใช้งานเมท็อดที่เป็น static ถ้าอยู่ในคลาสเดียวกันก็ ชื่อ เมท็อด(); แบบนี้ได้เลย แต่ถ้าอยู่คนละคลาสก็ ใช่ ชื่อคลาส.ชื่อเมท็อด static
• เมท็อดที่เป็น static ที่ได้ใช้มาแล้วก็คือ เมท็อด main ใน public static void main(String [] args) เพราะว่า main เป็นเมท็อดสาหรับเริ่มทางาน ดังนั้นต้องสามารถทางาน
ได้เลยโดยไม่ต้องมีอ็อปเจ็คมาเรียกใช้งาน
เมท็อดชื่อ f ในบรรทัดที่ 17 ประกาศเป็น เมท็อด static ดังนั้นในบรรทัดที่ 12 สามารถเรียกใช้เมท็อด f ได้เลย แต่บรรทัดที่ 13 มีการเรียกใช้เมท็อด printlnซึ่งอยู่ในคลาส System ก็ต้องใช้
งานแบบ ชื่อคลาส.เมท็อด
สังเกตว่าเมื่อเอาคาว่า static ออกในบรรทัดที่ 17 จะเกิด error ขึ้นทันทีที่บรรทัดที่ 12 ที่เรียกเมท็อด
ตัวแปร เมท็อดและคลาสที่เป็น final
• คล้ายกับ static คีย์เวิร์ด final ใช้ประกาศหน้าตัวแปร เมท็อดและยังประกาศหน้าคลาสได้ด้วย
– ถ้า final ไปประกาศหน้าตัวแปร ตัวแปรนั้นจะมีค่านั้นตลอดเปลี่ยนแปลงไม่ได้ เรียกว่าเป็นค่าคงที่
– ถ้าอยู่หน้าเมท็อดแล้วคลาสนี้ถูกสืบคุณสมบัติไป เมท็อดนี้จะไม่สามารถเขียนทับแก้ไขได้หรือก็คือไม่สามารถ Overriding ได้
– แต่ถ้าอยู่คลาส คลาสนั้นๆจะไม่สามารถเป็นคลาสแม่ได้เลย คือบางทีไม่ต้องการให้คนเอาอะไรเปลี่ยนทั้งนั้นก็ประกาศคลาสเป็น final เพราะบางทีประกาศเมท็อดเป็น final คลาสลูกก็
เขียนเมท็อดใหม่ขึ้นมาได้ เช่น เราไม่ต้องการเขาเปลี่ยนชื่อ เขาก็เขียนเมท็อดสาหรับเปลี่ยนชื่อใหม่ได้
วิธีประกาศ
• สาหรับตัวแปร final ชนิดตัวแปร ชื่อตัวแปร = ค่าคงที่ ;
• สาหรับเมท็อด modifier final ประเภทผลลัพธ์ ชื่อเมท็อด( ) { }
• สาหรับคลาส modifier final class ชื่อคลาส{ }
CONSTRUCTORS
คือเมธอดพิเศษ ทาหน้าที่กาหนดการทางานต่างๆให้กับออบเจกต์ใหม่ที่เกิดขึ้นจากคาสั่ง new ทันทีโดยอัตโนมัติ หากไม่
กาหนดคอนสตรักเตอร์ ตัวแปลภาษา C# จะสร้างคอนสตรักเตอร์พื้นฐาน (default constructor) ให้เอง
ตัวอย่างต่อไปนี้คือ คอนสตรักเตอร์พื้นฐาน ของคลาส Product public Product() { }
ตัวอย่างการเรียกใช้ default constructor
การส่งออบเจ็กต์ไปยังเมท็อด
ในการเขียนโปรแกรมที่มีการสร้างคลาสขึ้นมาหลายๆคลาสนั้น ออบเจ็กต์ของคลาสหนึ่งสามารถใช้เป็นอาร์กิวเมนต์เพื่อส่งผ่านไป
ยังเมธอดของคลาสอีกคลาสหนึ่งได้
เช่นโปรแกรม 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;
}
}
ตัวอย่างการประยุกต์การเขียนโปรแกรมเชิงวัตถุ
เป็นการออกแบบคลาสแล้วนามาเขียนโปรแกรมประยุกต์สาหรับใช้งานจริง โดยอธิบายขั้นตอนสาคัญในการทางานแต่ละขั้นตอน โดยมี
โปรแกรมตัวอย่างการเขียนโปรแกรมสาหรับเข้ารหัสข้อมูลโดยส่งข้อมูลผ่านเข้าไปในเครือข่ายคอมพิวเตอร์ เพื่อความปลอดภัยได้
นาเทคโนโลยีการเข้ารหัสมาใช้ ทาโดยการเลื่อนข้อมูล แต่ถ้าเป็นตัวอักขระตัวสุดท้ายของภาษาอังกฤษการเลื่อนข้อมูลจะกลับมา
เริ่มต้นที่ตัวแรกใหม่
ถ้าหากเป็น 2-shift ข้อมูลจะแทนได้ดังนี้
A แทนด้วย C
B แทนด้วย D
Y แทนด้วย A
Z แทนด้วย B
ถ้าข้อมูลต้นฉบับเป็น “DIZZY” แล้วเข้ารหัสแบบ 2- shift ข้อมูลที่เข้ารหัสแล้วจะเป็น “FKBBA”
จัดทาโดย
• นายวรกานต์ วัลลา เลขที่2 ม.6/3
• นายรัชชานนท์ สุดยอด เลขที่8 ม.6/3
• นายศรัณย์ สุขสว่าง เลขที่9 ม.6/3
• นายวรวุฒิ แก้วสะอาด เลขที่11 ม.6/3
• นายธีรพล กุลวุฒิ เลขที่17 ม.6/3

More Related Content

What's hot

Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingJava-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingWongyos Keardsri
 
นำเสนอMethods
นำเสนอMethodsนำเสนอMethods
นำเสนอMethodsFP Spongpoyam
 
(Big One) C Language - 07 object linkedlist
(Big One) C Language - 07 object linkedlist(Big One) C Language - 07 object linkedlist
(Big One) C Language - 07 object linkedlistKittinan Noimanee
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1Mook Prapasson
 
(Big One) C Language - 03 ฟังก์ชันส่งผ่านสตรัค
(Big One) C Language - 03 ฟังก์ชันส่งผ่านสตรัค(Big One) C Language - 03 ฟังก์ชันส่งผ่านสตรัค
(Big One) C Language - 03 ฟังก์ชันส่งผ่านสตรัคKittinan Noimanee
 
Java Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingJava Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingIMC Institute
 
คลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุคลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุBoOm mm
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริงOnpreeya Sahnguansak
 
บทที่ 2 ชนิดของตัว
บทที่ 2 ชนิดของตัวบทที่ 2 ชนิดของตัว
บทที่ 2 ชนิดของตัวTheeravaj Tum
 
เมธอด กลุ่ม3
เมธอด กลุ่ม3 เมธอด กลุ่ม3
เมธอด กลุ่ม3 Piyada Petchalee
 
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตJava Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตThanachart Numnonda
 

What's hot (17)

Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingJava-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java Programming
 
บทที่ 8 Methods
บทที่ 8 Methodsบทที่ 8 Methods
บทที่ 8 Methods
 
METHODS
METHODSMETHODS
METHODS
 
นำเสนอMethods
นำเสนอMethodsนำเสนอMethods
นำเสนอMethods
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
(Big One) C Language - 07 object linkedlist
(Big One) C Language - 07 object linkedlist(Big One) C Language - 07 object linkedlist
(Big One) C Language - 07 object linkedlist
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
(Big One) C Language - 03 ฟังก์ชันส่งผ่านสตรัค
(Big One) C Language - 03 ฟังก์ชันส่งผ่านสตรัค(Big One) C Language - 03 ฟังก์ชันส่งผ่านสตรัค
(Big One) C Language - 03 ฟังก์ชันส่งผ่านสตรัค
 
Java Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingJava Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception Handling
 
4563456
45634564563456
4563456
 
คลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุคลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุ
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
 
งานทำBlog บทที่ 10
งานทำBlog บทที่ 10งานทำBlog บทที่ 10
งานทำBlog บทที่ 10
 
บทที่ 2 ชนิดของตัว
บทที่ 2 ชนิดของตัวบทที่ 2 ชนิดของตัว
บทที่ 2 ชนิดของตัว
 
เมธอด กลุ่ม3
เมธอด กลุ่ม3 เมธอด กลุ่ม3
เมธอด กลุ่ม3
 
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตJava Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุต
 
66
6666
66
 

Viewers also liked

คำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรมคำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรมParn Nichakorn
 
ส่วนประกอบของเครื่องคอมพิวเตอร์
ส่วนประกอบของเครื่องคอมพิวเตอร์ส่วนประกอบของเครื่องคอมพิวเตอร์
ส่วนประกอบของเครื่องคอมพิวเตอร์janpen sinthagerd
 
การใช้งานโปรแกรม Microsoft Access
การใช้งานโปรแกรม Microsoft Accessการใช้งานโปรแกรม Microsoft Access
การใช้งานโปรแกรม Microsoft AccessParn Nichakorn
 
AbilityNet communications highlights 2016
AbilityNet communications highlights 2016AbilityNet communications highlights 2016
AbilityNet communications highlights 2016AbilityNet
 
Communauté onepoint - Bruxelles
Communauté onepoint - Bruxelles Communauté onepoint - Bruxelles
Communauté onepoint - Bruxelles GroupeONEPOINT
 
PepsiCo Celebrates Black History Month: African Americans who Broke Barriers ...
PepsiCo Celebrates Black History Month: African Americans who Broke Barriers ...PepsiCo Celebrates Black History Month: African Americans who Broke Barriers ...
PepsiCo Celebrates Black History Month: African Americans who Broke Barriers ...Leigha Landry Wanczowski
 
Clean technology - Raw materials and Commercialisation - Canada - november 2016
Clean technology -  Raw materials and Commercialisation - Canada - november 2016Clean technology -  Raw materials and Commercialisation - Canada - november 2016
Clean technology - Raw materials and Commercialisation - Canada - november 2016paul young cpa, cga
 
2017-03-06 bchs announcements edit
2017-03-06 bchs announcements edit2017-03-06 bchs announcements edit
2017-03-06 bchs announcements editBchs Bchs
 
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...Adnan Masood
 
Gabonak 2016 a
Gabonak 2016 aGabonak 2016 a
Gabonak 2016 aMarkonzaga
 
Kuliah 1 dan 2 pendahuluan & 2-osteologi
Kuliah 1 dan 2  pendahuluan & 2-osteologiKuliah 1 dan 2  pendahuluan & 2-osteologi
Kuliah 1 dan 2 pendahuluan & 2-osteologimohamad andre galang
 
คอมพิวเตอร์กราฟิกและแอนิเมชั่น
คอมพิวเตอร์กราฟิกและแอนิเมชั่นคอมพิวเตอร์กราฟิกและแอนิเมชั่น
คอมพิวเตอร์กราฟิกและแอนิเมชั่นPrachyanun Nilsook
 
140916 Conferência Blockchain RTM - Edilson Osório Júnior - Original MY
140916 Conferência Blockchain RTM - Edilson Osório Júnior - Original MY140916 Conferência Blockchain RTM - Edilson Osório Júnior - Original MY
140916 Conferência Blockchain RTM - Edilson Osório Júnior - Original MYRTM
 
คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม BoOm mm
 
Ценности состояния Vs ценностей процесса - конференция "Ценности будущего 2015"
Ценности состояния Vs ценностей процесса  - конференция "Ценности будущего 2015"Ценности состояния Vs ценностей процесса  - конференция "Ценности будущего 2015"
Ценности состояния Vs ценностей процесса - конференция "Ценности будущего 2015"Mihail Krikunov
 
Canada delivers third-straight monthly trade surplus as exports hit new high
Canada delivers third-straight monthly trade surplus as exports hit new highCanada delivers third-straight monthly trade surplus as exports hit new high
Canada delivers third-straight monthly trade surplus as exports hit new highpaul young cpa, cga
 
Techquisition - Don't Be Disrupted. Be Disruption.
Techquisition - Don't Be Disrupted. Be Disruption.Techquisition - Don't Be Disrupted. Be Disruption.
Techquisition - Don't Be Disrupted. Be Disruption.Paul Cuatrecasas
 
Computer System Basics
Computer System BasicsComputer System Basics
Computer System Basicspathumbee
 

Viewers also liked (20)

คำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรมคำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรม
 
ส่วนประกอบของเครื่องคอมพิวเตอร์
ส่วนประกอบของเครื่องคอมพิวเตอร์ส่วนประกอบของเครื่องคอมพิวเตอร์
ส่วนประกอบของเครื่องคอมพิวเตอร์
 
การใช้งานโปรแกรม Microsoft Access
การใช้งานโปรแกรม Microsoft Accessการใช้งานโปรแกรม Microsoft Access
การใช้งานโปรแกรม Microsoft Access
 
AbilityNet communications highlights 2016
AbilityNet communications highlights 2016AbilityNet communications highlights 2016
AbilityNet communications highlights 2016
 
J Beukes CV
J Beukes CVJ Beukes CV
J Beukes CV
 
Communauté onepoint - Bruxelles
Communauté onepoint - Bruxelles Communauté onepoint - Bruxelles
Communauté onepoint - Bruxelles
 
PepsiCo Celebrates Black History Month: African Americans who Broke Barriers ...
PepsiCo Celebrates Black History Month: African Americans who Broke Barriers ...PepsiCo Celebrates Black History Month: African Americans who Broke Barriers ...
PepsiCo Celebrates Black History Month: African Americans who Broke Barriers ...
 
Clean technology - Raw materials and Commercialisation - Canada - november 2016
Clean technology -  Raw materials and Commercialisation - Canada - november 2016Clean technology -  Raw materials and Commercialisation - Canada - november 2016
Clean technology - Raw materials and Commercialisation - Canada - november 2016
 
2017-03-06 bchs announcements edit
2017-03-06 bchs announcements edit2017-03-06 bchs announcements edit
2017-03-06 bchs announcements edit
 
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...
Probabilistic Interestingness Measures - An Introduction with Bayesian Belief...
 
Gabonak 2016 a
Gabonak 2016 aGabonak 2016 a
Gabonak 2016 a
 
Kuliah 1 dan 2 pendahuluan & 2-osteologi
Kuliah 1 dan 2  pendahuluan & 2-osteologiKuliah 1 dan 2  pendahuluan & 2-osteologi
Kuliah 1 dan 2 pendahuluan & 2-osteologi
 
คอมพิวเตอร์กราฟิกและแอนิเมชั่น
คอมพิวเตอร์กราฟิกและแอนิเมชั่นคอมพิวเตอร์กราฟิกและแอนิเมชั่น
คอมพิวเตอร์กราฟิกและแอนิเมชั่น
 
Input devices
Input devicesInput devices
Input devices
 
140916 Conferência Blockchain RTM - Edilson Osório Júnior - Original MY
140916 Conferência Blockchain RTM - Edilson Osório Júnior - Original MY140916 Conferência Blockchain RTM - Edilson Osório Júnior - Original MY
140916 Conferência Blockchain RTM - Edilson Osório Júnior - Original MY
 
คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม คำสั่งควบคุมโปรแกรม
คำสั่งควบคุมโปรแกรม
 
Ценности состояния Vs ценностей процесса - конференция "Ценности будущего 2015"
Ценности состояния Vs ценностей процесса  - конференция "Ценности будущего 2015"Ценности состояния Vs ценностей процесса  - конференция "Ценности будущего 2015"
Ценности состояния Vs ценностей процесса - конференция "Ценности будущего 2015"
 
Canada delivers third-straight monthly trade surplus as exports hit new high
Canada delivers third-straight monthly trade surplus as exports hit new highCanada delivers third-straight monthly trade surplus as exports hit new high
Canada delivers third-straight monthly trade surplus as exports hit new high
 
Techquisition - Don't Be Disrupted. Be Disruption.
Techquisition - Don't Be Disrupted. Be Disruption.Techquisition - Don't Be Disrupted. Be Disruption.
Techquisition - Don't Be Disrupted. Be Disruption.
 
Computer System Basics
Computer System BasicsComputer System Basics
Computer System Basics
 

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

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น Ja Phenpitcha
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1Ja Phenpitcha
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นPornsitaintharak
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานPrapatsorn Keawnoun
 
บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์Theeravaj Tum
 
หน่วยที่ 7 การสร้างคำสั่งอย่างง่าย
หน่วยที่ 7 การสร้างคำสั่งอย่างง่ายหน่วยที่ 7 การสร้างคำสั่งอย่างง่าย
หน่วยที่ 7 การสร้างคำสั่งอย่างง่ายkruthanyaporn
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานF'olk Worawoot
 

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

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น 1
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
Lab Computer Programming 1
Lab Computer Programming 1Lab Computer Programming 1
Lab Computer Programming 1
 
Chapter3
Chapter3Chapter3
Chapter3
 
3.6 ฟังก์ชัน
3.6 ฟังก์ชัน3.6 ฟังก์ชัน
3.6 ฟังก์ชัน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
Class1
Class1Class1
Class1
 
Java 7&12 6 2
Java 7&12 6 2Java 7&12 6 2
Java 7&12 6 2
 
Java
JavaJava
Java
 
SQL By Sayuri
SQL By Sayuri SQL By Sayuri
SQL By Sayuri
 
เมธอด
เมธอดเมธอด
เมธอด
 
Chapter1 uml3
Chapter1 uml3Chapter1 uml3
Chapter1 uml3
 
Chapter1 uml3
Chapter1 uml3Chapter1 uml3
Chapter1 uml3
 
บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์
 
Pbl2
Pbl2Pbl2
Pbl2
 
หน่วยที่ 7 การสร้างคำสั่งอย่างง่าย
หน่วยที่ 7 การสร้างคำสั่งอย่างง่ายหน่วยที่ 7 การสร้างคำสั่งอย่างง่าย
หน่วยที่ 7 การสร้างคำสั่งอย่างง่าย
 
Presenter1234567
Presenter1234567Presenter1234567
Presenter1234567
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 

More from Parn Nichakorn

โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดี
โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดีโดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดี
โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดีParn Nichakorn
 
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่า
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่าlithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่า
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่าParn Nichakorn
 
เทรนด์นวัตกรรมเครื่องปรับอากาศ
เทรนด์นวัตกรรมเครื่องปรับอากาศเทรนด์นวัตกรรมเครื่องปรับอากาศ
เทรนด์นวัตกรรมเครื่องปรับอากาศParn Nichakorn
 
ฝาชีไฮเทคเทคโนโลยี
ฝาชีไฮเทคเทคโนโลยีฝาชีไฮเทคเทคโนโลยี
ฝาชีไฮเทคเทคโนโลยีParn Nichakorn
 
นาฬิกาปลุกระบบสัมผัส
นาฬิกาปลุกระบบสัมผัสนาฬิกาปลุกระบบสัมผัส
นาฬิกาปลุกระบบสัมผัสParn Nichakorn
 
ปากกาเขียนตามคำบอก
ปากกาเขียนตามคำบอกปากกาเขียนตามคำบอก
ปากกาเขียนตามคำบอกParn Nichakorn
 
ตู้ปลาอัจฉริยะ
ตู้ปลาอัจฉริยะตู้ปลาอัจฉริยะ
ตู้ปลาอัจฉริยะParn Nichakorn
 
หมอนอัจฉริยะ
หมอนอัจฉริยะหมอนอัจฉริยะ
หมอนอัจฉริยะParn Nichakorn
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศParn Nichakorn
 
โครงสร้างทางสังคม0
โครงสร้างทางสังคม0โครงสร้างทางสังคม0
โครงสร้างทางสังคม0Parn Nichakorn
 
ปลุกให้ตื่นด้วยกลิ่น
ปลุกให้ตื่นด้วยกลิ่นปลุกให้ตื่นด้วยกลิ่น
ปลุกให้ตื่นด้วยกลิ่นParn Nichakorn
 

More from Parn Nichakorn (12)

โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดี
โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดีโดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดี
โดรนพันธุ์ใหม่บินก็ได้ ดำน้ำก็ดี
 
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่า
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่าlithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่า
lithium-oxygen แบตเตอรี่สายพันธุ์ใหม่ จุไฟได้มากกว่าเดิม 5 เท่า
 
เทรนด์นวัตกรรมเครื่องปรับอากาศ
เทรนด์นวัตกรรมเครื่องปรับอากาศเทรนด์นวัตกรรมเครื่องปรับอากาศ
เทรนด์นวัตกรรมเครื่องปรับอากาศ
 
Itnew
ItnewItnew
Itnew
 
ฝาชีไฮเทคเทคโนโลยี
ฝาชีไฮเทคเทคโนโลยีฝาชีไฮเทคเทคโนโลยี
ฝาชีไฮเทคเทคโนโลยี
 
นาฬิกาปลุกระบบสัมผัส
นาฬิกาปลุกระบบสัมผัสนาฬิกาปลุกระบบสัมผัส
นาฬิกาปลุกระบบสัมผัส
 
ปากกาเขียนตามคำบอก
ปากกาเขียนตามคำบอกปากกาเขียนตามคำบอก
ปากกาเขียนตามคำบอก
 
ตู้ปลาอัจฉริยะ
ตู้ปลาอัจฉริยะตู้ปลาอัจฉริยะ
ตู้ปลาอัจฉริยะ
 
หมอนอัจฉริยะ
หมอนอัจฉริยะหมอนอัจฉริยะ
หมอนอัจฉริยะ
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
 
โครงสร้างทางสังคม0
โครงสร้างทางสังคม0โครงสร้างทางสังคม0
โครงสร้างทางสังคม0
 
ปลุกให้ตื่นด้วยกลิ่น
ปลุกให้ตื่นด้วยกลิ่นปลุกให้ตื่นด้วยกลิ่น
ปลุกให้ตื่นด้วยกลิ่น
 

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

  • 2. ความหมายของ OOP OOP (Object Oriented Programming) เป็นวิธีการเขียนโปรแกรมซึ่งจัดดา เนินการกับกลุ่ม ของ ออบเจ็กต์ (Object) ที่มีอยู่ในโปรแกรม ออบเจ็กต์ เป็นชนิดของข้อมูลซึ่งประกอบไปด้วยกลุ่มของ ข้อมูล(data) และกลุ่มของฟังก์ชัน(Function) โดยการใช้ข้อมูลและฟังก์ชันเหล่านี้ แต่ละออบเจ็กต์จะทา งาน 1 งานได้ สมบูรณ์ (ทั้งนี้เนื่องจากตัวออบเจ็กต์เองประกอบไปด้วยข้อมูลและฟังก์ชัน) ออบเจ็กต์ เป็นสมาชิกของ ตัวแปรคลาส (class variable) มีลักษณะเป็นโมดูล (modularity) ซึ่งประกอบไปด้วย ตัวแปร ชนิดต่าง ๆ ที่สัมพันธ์กัน และ ประกอบด้วย ฟังก์ชัน ต่าง ๆ โดยที่ คลาส(class) จะห่อหุ้มข้อมูลและฟังก์ชันรวมไว้ด้วยกันมีลักษณะที่เรียกว่า encapsulation ดังนั้นจึงมีความสะดวกในการใช้งาน สามารถป้องกันส่วนอื่น ๆ ของโปรแกรมไม่ให้เข้าถึงตัว แปรชนิดโลคอลภายในคลาสได้อย่างดีเยี่ยม ดังนั้น การเขียนโปรแกรมแบบ OOP คือ การสร้างและ/หรือการ เรียกใช้ออบเจ็กต์ให้ทางานตามที่เราต้องการ ในการเรียกใช้ออบเจ็กต์นั้น เราจะสนใจเฉพาะการทา งานของออบ เจ็กต็เท่านั้น ไม่จา เป็นต้องสนใจรายละเอียดภายในของออบเจ็กต์ว่าเป็นอย่างไรการใช้ออบเจ็กต์ของโปรแกรมจะมี ลักษณะคล้ายกับการใช้สิ่งของในชีวิตประจา วันของเรา เช่น การใช้โทรทัศน์ เราสามารถใช้ได้โดยไม่จา เป็นต้องรู้ว่า ภายในเครื่องโทรทัศน์มี "ส่วนประกอบ" อะไรบ้าง และไม่จา เป็นต้องรู้ว่าแต่ละส่วนประกอบทา งานอย่างไร เราจะรู้ เพียงแค่วิธีใช้ เช่น วิธีเปิด วิธีเปลี่ยนช่อง วิธีปรับเสียง วิธีปรับสี วิธีตั้งเวลา วิธีปิดเครื่อง เป็นต้น ลักษณะของ โปรแกรมแบบ OOPก็มีลักษณะคล้ายกับการใช้โทรทัศน์ในชีวิตประจา วัน ซึ่งจะได้ศึกษาถึงวิธีการสร้างและ วิธีการใช้ OOP ต่อไป
  • 3. คลาสกับ OBJECT คลาสกับ object เป็นสองสิ่งที่มีความเกี่ยวข้องกันโดยตรง คลาสคือโค้ดที่เราเขียนขึ้นเพื่อทาหน้าที่เป็นพิมพ์เขียวของ object การสร้าง object จากคลาสเรียกว่าการทา instantiation การสร้าง object จากคลาส เทียบ ได้กับการทาขนมครกสิงคโปร์ เตาขนมจะมีหลุมหลายหลุม แต่ละหลุมมีลวดลายไม่เหมือนกัน ขนมครกที่ได้จากแต่ละ หลุมจึงมีรูปร่างต่างๆ กัน คลาสคือหลุมหนึ่งหลุม ขนมครกที่ได้คือ instance ของ object เราเรียก object หนึ่ง object ว่าหนึ่ง instance เราสามารถสร้าง object ได้หลายๆ instance จากคลาส เพียงคลาสเดียว จากตัวอย่างขนมครกสิงคโปร์ ในวันหนึ่งๆ แม่ค้าจะทาขนมครกได้เป็นจานวนมากจากหลุมแต่ละ หลุม ส่วนในภาษา C# หากเราสร้างคลาสหนึ่งคลาส ยกตัวอย่างเช่น เป็นคลาสเพื่อนิยาม node หลังจากนั้นเรา อาจเขียนโปรแกรมสร้าง binary tree ซึ่งขณะทางานมันอาจจะสร้าง object จากคลาส node ได้หลาย ล้าน instance ภายในหนึ่งวินาที การใช้งานคลาสทาได้สองวิธี วิธีแรกคือการนาไปใช้สร้าง object และใช้งานผ่าน object ดังที่อธิบายไปแล้ว อีกวิธี หนึ่งคือเรียกใช้โดยตรงโดยไม่ต้องสร้าง object เรียกว่า static class แม้การใช้งานคลาสวิธีนี้จะไม่มี object ทาให้ดูเหมือนไม่เป็นหลักการ OOP แต่ในบางสถานการณ์ก็ถือว่ามีความเหมาะสมดี
  • 4. การนิยามคลาส ในภาษาจาวาสามารถนิยามคลาสหรือปีะกาศคลาสขึ้นมาโดยมีรูปแบบดังนี้ [AccessSpecifier] Class Name { Members } AccessSpecifier เป็นความสามารถในการเข้าถึงคลาสนั้นๆ class เป็นคีย์เวิร์ดในภาษาจาวาเพท่อใช้ในการประกาศคลาส Name เป็นชื่อคลาสมี่ประกาศขึ้น Members เป็นคุณลักษณะหรือเมธอดต่างๆ ของคลาสที่นิยามขึ้น
  • 5. การสร้างออบเจ็กต์ หลังจากนิยามคลาสขึ้นมาแล้ว ถ้าหากโปรแกรมต้องการใช้งานจะต้องสร้างออบเจ็กต์ขึ้นมา เพื่อบอกว่าออบเจ็กต์เป็นของคลาสใด โดย จะต้องประกาศออบเจ็กต์ขึ้นมาก่อนซึ่งมีรูปแบบดังนี้ ClassName ObjectName; การประกาศออบเจ็กต์นี้จะทาให้คอมไพเลอร์รับทราบว่ามีตัวแปร ObjectName แต่จะยังไม่มีหน่วยความจาสาหรับข้อมู,ของ ออบเจ็กต์ที่ประกาศขึ้น ซึ่งจัต้องสร้างออบเจ็กต์ขึ้นมาก่อนโดยใช้คาว่า new ซึ่งมีรูปแบบดังนี้ objecyName = new ClassName([arguments]) เมืื่อมีการสร้างออบเจ็กต์ขึ้นมาแล้ว สมาชิกของออบเจ็กต์คือสมาชิกของคลาสนั้น ซึ่งได้แก่คุณลักษณะหรือตัวแปรและเมธอดต่างๆ ออบเจ็กต์จะสามารถเข้าถึงข้อมูลที่เป็นคุณลักษณะหรือเรียกใช้เมธอดได้ไม่ขึ้นกับaccessSpecifier ที่ถูกประกาศไว้ตอน นิยามคลาส ดดยการเรียกใช้สมาชิกจะทาโดยใช้เครื่องหมายจุด แล้วตามด้วยสมาชิกที่ต้องการเรียกใช้
  • 6. STATIC • ตัวแปรและเมท็อดที่เป็น static • คีย์เวิร์ด static เป็นคีย์เวิร์ดที่ใช้ประกาศหน้าตัวแปรและเมท็อด ความพิเศษของ static คือว่าโดยปกติเวลาจะสร้างอ็อปเจ็คต้องทาการ new อ็อปเจ็คขึ้นมา ตัวแปรอ็อปเจ็คก็จะอ้างอิงไปที่อ็ อปเจ็คที่สร้างขึ้น แล้วก็เอาตัวแปรนี้ไปเรียกใช้ตัวแปร ใช้เมท็อด แต่ถ้าตัวแปรหรือเมท็อดนั้นเป็น static ก็จะทาให้สามารถใช้ตัวแปรหรือเมท็อดนั้นได้เลยโดยไม่ต้องสร้างอ็อปเจ็คมาเรียกใช้ งาน • สาหรับตัวแปรที่เป็น static นั้น จะทาให้ตัวแปรนั้นเป็นตัวแปรของคลาสไม่ได้เป็นของอ็อปเจ็คใดอ็อปเจ็คหนึ่ง ถ้ามีการเปลี่ยนแปลงขึ้นกับตัวแปร static อ็อปเจ็คอื่นๆทั้งหมดจะมองเห็นการ เปลี่ยนแปลง วิธีประกาศ • สาหรับตัวแปร modifier static ชนิดตัวแปร ชื่อตัวแปร ; • สาหรับเมท็อด modifier static ประเภทผลลัพธ์ ชื่อเมท็อด( ) { } • วิธีการเรียกใช้งานเมท็อดที่เป็น static ถ้าอยู่ในคลาสเดียวกันก็ ชื่อ เมท็อด(); แบบนี้ได้เลย แต่ถ้าอยู่คนละคลาสก็ ใช่ ชื่อคลาส.ชื่อเมท็อด static • เมท็อดที่เป็น static ที่ได้ใช้มาแล้วก็คือ เมท็อด main ใน public static void main(String [] args) เพราะว่า main เป็นเมท็อดสาหรับเริ่มทางาน ดังนั้นต้องสามารถทางาน ได้เลยโดยไม่ต้องมีอ็อปเจ็คมาเรียกใช้งาน เมท็อดชื่อ f ในบรรทัดที่ 17 ประกาศเป็น เมท็อด static ดังนั้นในบรรทัดที่ 12 สามารถเรียกใช้เมท็อด f ได้เลย แต่บรรทัดที่ 13 มีการเรียกใช้เมท็อด printlnซึ่งอยู่ในคลาส System ก็ต้องใช้ งานแบบ ชื่อคลาส.เมท็อด สังเกตว่าเมื่อเอาคาว่า static ออกในบรรทัดที่ 17 จะเกิด error ขึ้นทันทีที่บรรทัดที่ 12 ที่เรียกเมท็อด ตัวแปร เมท็อดและคลาสที่เป็น final • คล้ายกับ static คีย์เวิร์ด final ใช้ประกาศหน้าตัวแปร เมท็อดและยังประกาศหน้าคลาสได้ด้วย – ถ้า final ไปประกาศหน้าตัวแปร ตัวแปรนั้นจะมีค่านั้นตลอดเปลี่ยนแปลงไม่ได้ เรียกว่าเป็นค่าคงที่ – ถ้าอยู่หน้าเมท็อดแล้วคลาสนี้ถูกสืบคุณสมบัติไป เมท็อดนี้จะไม่สามารถเขียนทับแก้ไขได้หรือก็คือไม่สามารถ Overriding ได้ – แต่ถ้าอยู่คลาส คลาสนั้นๆจะไม่สามารถเป็นคลาสแม่ได้เลย คือบางทีไม่ต้องการให้คนเอาอะไรเปลี่ยนทั้งนั้นก็ประกาศคลาสเป็น final เพราะบางทีประกาศเมท็อดเป็น final คลาสลูกก็ เขียนเมท็อดใหม่ขึ้นมาได้ เช่น เราไม่ต้องการเขาเปลี่ยนชื่อ เขาก็เขียนเมท็อดสาหรับเปลี่ยนชื่อใหม่ได้ วิธีประกาศ • สาหรับตัวแปร final ชนิดตัวแปร ชื่อตัวแปร = ค่าคงที่ ; • สาหรับเมท็อด modifier final ประเภทผลลัพธ์ ชื่อเมท็อด( ) { } • สาหรับคลาส modifier final class ชื่อคลาส{ }
  • 7. CONSTRUCTORS คือเมธอดพิเศษ ทาหน้าที่กาหนดการทางานต่างๆให้กับออบเจกต์ใหม่ที่เกิดขึ้นจากคาสั่ง new ทันทีโดยอัตโนมัติ หากไม่ กาหนดคอนสตรักเตอร์ ตัวแปลภาษา C# จะสร้างคอนสตรักเตอร์พื้นฐาน (default constructor) ให้เอง ตัวอย่างต่อไปนี้คือ คอนสตรักเตอร์พื้นฐาน ของคลาส Product public Product() { } ตัวอย่างการเรียกใช้ default constructor
  • 8. การส่งออบเจ็กต์ไปยังเมท็อด ในการเขียนโปรแกรมที่มีการสร้างคลาสขึ้นมาหลายๆคลาสนั้น ออบเจ็กต์ของคลาสหนึ่งสามารถใช้เป็นอาร์กิวเมนต์เพื่อส่งผ่านไป ยังเมธอดของคลาสอีกคลาสหนึ่งได้ เช่นโปรแกรม 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; } }
  • 9. ตัวอย่างการประยุกต์การเขียนโปรแกรมเชิงวัตถุ เป็นการออกแบบคลาสแล้วนามาเขียนโปรแกรมประยุกต์สาหรับใช้งานจริง โดยอธิบายขั้นตอนสาคัญในการทางานแต่ละขั้นตอน โดยมี โปรแกรมตัวอย่างการเขียนโปรแกรมสาหรับเข้ารหัสข้อมูลโดยส่งข้อมูลผ่านเข้าไปในเครือข่ายคอมพิวเตอร์ เพื่อความปลอดภัยได้ นาเทคโนโลยีการเข้ารหัสมาใช้ ทาโดยการเลื่อนข้อมูล แต่ถ้าเป็นตัวอักขระตัวสุดท้ายของภาษาอังกฤษการเลื่อนข้อมูลจะกลับมา เริ่มต้นที่ตัวแรกใหม่ ถ้าหากเป็น 2-shift ข้อมูลจะแทนได้ดังนี้ A แทนด้วย C B แทนด้วย D Y แทนด้วย A Z แทนด้วย B ถ้าข้อมูลต้นฉบับเป็น “DIZZY” แล้วเข้ารหัสแบบ 2- shift ข้อมูลที่เข้ารหัสแล้วจะเป็น “FKBBA”
  • 10. จัดทาโดย • นายวรกานต์ วัลลา เลขที่2 ม.6/3 • นายรัชชานนท์ สุดยอด เลขที่8 ม.6/3 • นายศรัณย์ สุขสว่าง เลขที่9 ม.6/3 • นายวรวุฒิ แก้วสะอาด เลขที่11 ม.6/3 • นายธีรพล กุลวุฒิ เลขที่17 ม.6/3