Class คืออะไร
   Class คือ กลุ่มของ Object ที่มีโครงสร้างพื้นฐานพฤติกรรมเดียวกัน ดังนั้น Object ที่มีคุณสมบัติลักษณะเดียวกันนี้ จะรวมกลุ่มอยู่ใน Class เดียวกัน จึงสามารถสรุปได้ว่า Class คือ ต้นแบบข้อมูล ที่มีไว้เพื่อสร้าง Object นั่นเอง Class นอกจากจะมีชื่อ Class ที่บอกคุณสมบัติของ Class นั้นแล้ว ยังมี Attribute และ Operations ต่างๆ ซึ่งเป็นตัวอธิบายรายละเอียด และหน้าที่ต่างๆด้วย
  

คีย์บอร์ด สีดำ มี Class คืออะไร เเละ Progammer
Class คืออะไร

 

ตัวอย่าง Class เช่น
   Class คือ แบบรูปดาวที่สร้างจากแม่แบบ (Template) และ Object คือ ดาวที่สร้างจากแม่แบบรูปดาว หรือ Class นั้นเอง ซึ่ง Object ที่ถูกสร้างขึ้นมาจะมีลักษณะเหมือนกับ Class ที่เป็นต้นแบบ แต่โดยคุณสมบัติของ Object แล้ว จะสามารถเพิ่มคุณสมบัติเฉพาะของตัวเองขึ้นมาได้ เช่น เพิ่มสีขึ้นมาเป็นคุณสมบัติเฉพาะตัวเองขึ้นมาได้ ทำให้ดาวแต่ละรูปมีสีสันที่ต่างกันไป แต่คุณสมบัติพื้นฐานจะได้รับการสืบทอดมาจาก class ที่เป็นต้นแบบยังเหมือนเดิม นั้นคือขนาดของรูปดาวจะเท่ากันทุกรูป เพราะได้จากแม่พิมพ์ตัวเดียวกัน หรือ มาจาก class เดียวกันนั้นเอง

ตัวอย่าง ภาษาจาวา

public class Account {
    private String accountName;
    private String accountNumber;
    private double balance;

    public void deposit (double amount) {
        balance = balance + amount;
    }

    public void withdraw (double amount) {
        balance = balance - amount;
    }

    public String getAccountName () {
        return accountName;
    }

    public void setAccountName (String name) {
        accountName = name;
    }

    public String getAccountNumber () {
        return accountNumber;
    }

    public void setAccountNumber (String number) {
        accountNumber = number;
    }

    public double getBalance () {
        return balance;
    }

    public void setBalance (double amount) {
        balance = amount;
    }
}

องค์ประกอบของคลาสมีสองส่วนหลักได้แก่

  1. ข้อมูล (data) หรือ คุณสมบัติ (property) สำหรับเก็บข้อมูลในการทำงานหรือบอกสถานะปัจจุบันของอ็อบเจกต์ ตัวอย่างเช่น คลาสชนิดบัญชีธนาคารสามารถมีข้อมูลคือ เลขที่บัญชี, ชื่อเจ้าของบัญชี, และยอดเงินปัจจุบัน
  2. พฤติกรรมการทำงาน (method หรือ function) เป็นส่วนรับคำสั่งและทำงานตามคำสั่งนั้น เช่นคลาสบัญชีธนาคารจากตัวอย่างข้างบนอาจจะมีฟังก์ชันสำหรับฝากและถอนเงินจากบัญชี เป็นต้น

นอกจากนี้ คลาสยังสามารถมีฟังก์ชันพิเศษเรียกว่า constructor ซึ่งจะถูกเรียกใช้ในเวลาที่กำลังสร้างอ็อบเจกต์จากคลาสเพื่อตั้งค่าเริ่นต้นให้กับข้อมูลและคุณสมบัติของอ็อบเจกต์นั้น

ลักษณะของคลาสที่ดี

  • ซ่อนข้อมูลและคุณสมบัติส่วนตัวของคลาสโดยตั้งค่าให้เป็น private โลกภายนอกสามารถเข้าถึงข้อมูลเหล่านี้ผ่านทางฟังก์ชันพิเศษที่จะมีการตรวจสอบความถูกต้องของข้อมูล
  • ตั้งค่าเริ่มต้นของข้อมูลและคุณสมบัติของคลาสเสมอ อ็อบเจกต์จะอยู่ในสถานะที่พร้อมถูกใช้งานทันที
  • แตกคลาสที่มีภาระมาก (responsibilities) ออกเป็นส่วนย่อยๆ และแบ่งความรับผิดชอบที่เฉพาะเจาะจงให้กับคลาสเล็กๆ เหล่านั้น คลาสที่ใหญ่เกินไปและทำงานหลายอย่างจะยากต่อการบำรุงรักษาและแก้ไข
  • ตั้งชื่อสมาชิกให้สัมพันธ์กับหน้าที่ของมันเพื่อบ่งบอกจุดมุ่งหมายที่แน่ชัด จะทำให้ง่ายต่อการแก้ไขโปรแกรมต่อไป


 

ประโยชน์ของ Class
  จะเห็นได้ว่า Class ของการสร้างรูปดาวนั้น จะประกอบด้วยวิธีการทำ ซึ่งทำถ้ามีวิธการที่ต่างกันออกไป เช่น มีการผสมสีต่างๆ ให้รูปดาวแต่ละรูปมีสีที่ไม่เหมือนกันแล้ว เราก็จะได้รูปดาวที่มีลักษณะเฉพาะที่ต่างกัน นั้นคือมีสีที่ไม่เหมือนกัน ลองนึกเปรียบเทียบกับการเขียนโปรแกรม ซึ่งมีความซับซ้อน หลายขั้นตอน ใน 1 class เมื่อ โปรแกรมเมอร์จำเป็นต้องแก้ไข หรือพัฒนาโปรแกรมนั้น เค้าจะทำอย่างไร ? โปรแกรมเมอร์ก็เพียงเข้าไปดูใน class แล้วแก้ไขหรือเพิ่มเติมขั้นตอนต่างๆแทรกลงใน class ไม่จำเป็นต้องนั่งไล่วิธีต่างๆตั้งแต่แรก ซึ่งทำให้การแก้ไขโปแกรมของโปรแกรมเมอร์เป็นไปได้โดยง่าย เพราะโปรแกรมถูกจัดให้เป็นสัดส่วนไว้แล้ว

เพราะฉะนั้นฐานถือเป็นหัวข้อใหญ่ของ Object ที่จะใช้ในการสร้างคุณสมบัติและการแยกคุณสมบัติต่างๆอกมาให้อย่างเป็นสัดส่วนและสามารถที่จะทำการแก้ไขหรือเกิดการพัฒนาได้ง่ายมากยิ่งขึ้นเพราะเนื่องจาก class นั้นถูกแก้เอาไว้อย่างเป็นสัดส่วนจึงทำให้ไม่เสียเวลาในการค้นหา โดยสำหรับประโยชน์ของคลาสนั้นจะพบได้ว่า สามารถที่จะอำนวยความสะดวกสบายในการแก้ไข้อมูลให้กับโปรแกรมเมอร์ฃหรือผู้ที่ต้องการแก้ไข ข้อมูลเพราะไม่จำเป็นที่จะต้องไปนั่งหาหรือนั่งอ่านใหม่ขอเพียงแค่ทำการเปิดคลาสแล้วทำการนั่งไล่ลงคุณก็จะพบว่าสามารถที่จะแทรกขั้นตอนต่างๆลงไปได้อย่างสะดวกสบายมากยิ่งขึ้น ดังนั้น objectจึงจำเป็นที่คุณจะต้องทำความเข้าใจให้ละเอียดลึกซึ้งก่อนที่จะทำความเข้าใจกับ class 

 

เเละท่านใดที่สนใจกับการเขียนโปรแกรม สามารถค้นหาข้อมูลเพิ่มเติมได้ที่เว็บ mindphp.com ในเว็บไซต์มีทั้ง บทเรียน สอนเขียน Python บทเรียน Javascript หรือภาษาคอมพิวเตอร์อื่นๆอีกมากมาย

ข้อมูลอ้างอิง
http://www.xvlnw.com
http://www.webthaidd.com
http://www.eau.ac.th

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
คอมพิวเตอร์คืออะไร
โดย Best1677 พ 07 ก.พ. 2024 3:08 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
289
พ 07 ก.พ. 2024 3:08 pm โดย Best1677 View Topic คอมพิวเตอร์คืออะไร
ความรู้พื้นฐานเกี่ยวกับคอมพิวเตอร์
โดย Anonymous พ 07 ก.พ. 2024 3:04 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
294
พ 07 ก.พ. 2024 3:04 pm โดย บุคคลทั่วไป View Topic ความรู้พื้นฐานเกี่ยวกับคอมพิวเตอร์
คอมพิวเตอร์ของฉันทำไมช้าจัง?
โดย Anonymous อ 06 ก.พ. 2024 10:41 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
219
อ 06 ก.พ. 2024 10:41 am โดย บุคคลทั่วไป View Topic คอมพิวเตอร์ของฉันทำไมช้าจัง?
นี่คือหตุผลทำไมโปรแกรมเมอร์บริษัทเทคโนโลยี หรือ บ.เทค มีการลดพนักงานลง เงินเดือนขึ้นเร็วและโดนจ้างออกเร็ว
โดย Anonymous จ 05 ก.พ. 2024 3:35 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
429
จ 05 ก.พ. 2024 3:35 pm โดย บุคคลทั่วไป View Topic นี่คือหตุผลทำไมโปรแกรมเมอร์บริษัทเทคโนโลยี หรือ บ.เทค มีการลดพนักงานลง เงินเดือนขึ้นเร็วและโดนจ้างออกเร็ว
รับทำโฆษณา Google ให้ติดหน้าแรกและมีประสิทธิภาพสูง
โดย @Foretoday จ 05 ก.พ. 2024 11:31 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
270
จ 05 ก.พ. 2024 11:31 am โดย @Foretoday View Topic รับทำโฆษณา Google ให้ติดหน้าแรกและมีประสิทธิภาพสูง
Cloud Backup มีความสำคัญอย่างไร ต่อการจัดเก็บข้อมูลของธุรกิจ
โดย Athapol Panngern ศ 02 ก.พ. 2024 10:18 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
406
ศ 02 ก.พ. 2024 10:18 am โดย Athapol Panngern View Topic Cloud Backup มีความสำคัญอย่างไร ต่อการจัดเก็บข้อมูลของธุรกิจ
ประเมิณราคาเปลี่ยนจอ อะไหล่ เปลี่ยนจอ samsung s10e
โดย mindphp พฤ 01 ก.พ. 2024 7:49 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
620
ส 03 ก.พ. 2024 12:32 am โดย mindphp View Topic ประเมิณราคาเปลี่ยนจอ อะไหล่ เปลี่ยนจอ samsung s10e
จะเข้า Line แต่ใช้มือถือ Scan QRCode ไม่ได้ ต้องทำยังไงดี
โดย Narisara พ 31 ม.ค. 2024 12:41 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
455
พ 31 ม.ค. 2024 12:44 pm โดย Narisara View Topic จะเข้า Line แต่ใช้มือถือ Scan QRCode ไม่ได้ ต้องทำยังไงดี