ให้เรตสมาชิก: 1 / 5

ดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

Java - Object & Classes

Java เป็นภาษาเชิงวัตถุ เป็นภาษาที่มีคุณสมบัติเชิงวัตถุ, Java รองรับพื้นฐานต่อไปนี้

  • Polymorphism
  • Inheritance
  • Encapsulation
  • Abstraction
  • Classes
  • Objects
  • Instance
  • Method
  • Message Parsing

ในบทนี้จะมองไปที่ Classes และ Objects.

Object – จะประกอบด้วย State และ Behaviors ตัวอย่าง : สุนัขมี State คือ name, breed(สายพันธุ์) ที่คอยระบุลักษณะของ Object(วัตถุ) นั้นๆ ส่วน Behavior หรือพฤติกรรมของ Dog นั้นคือ เห่า, กิน, นอน  ฯลฯ
Class – คือต้นแบบที่กำหนดคุณสมบัติและพฤติกรรมการทำงานของ Object ที่ถูกสร้างมาจากคลาสนั้นๆ

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

ข้อมูล (data) หรือ คุณสมบัติ (Field) สำหรับเก็บข้อมูลในการทำงานหรือบอกสถานะปัจจุบันObject ตัวอย่างเช่น คลาสชนิดบัญชีธนาคารสามารถมีข้อมูลคือ เลขที่บัญชี, ชื่อเจ้าของบัญชี, และยอดเงินปัจจุบัน

พฤติกรรมการทำงาน (method หรือ function) เป็นส่วนรับคำสั่งและทำงานตามคำสั่งนั้น เช่น Class บัญชีธนาคารจากตัวอย่างข้างบนอาจจะมีฟังก์ชันสำหรับฝากและถอนเงินจากบัญชี เป็นต้น

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

การเขียน Class

ยกตัวอย่าง การสร้าง Class Dog ให้กำหนด Field, Method ของ Dog

public class Dog {
    // กำหนดคุณสมบัติ(Field)
    String Name;
    String Breed;

    // Constructor
    Dog() {
    }

    // Method สำหรับ กำหนดชื่อสุนัข
    public void setName(String name) {
        Name = name;
    }

    // Method สำหรับ กำหนดสายพันธุ์
    public void setBreed(String breed) {
        Breed = breed;
    }

    // Method สำหรับไว้ให้เรียกดูชื่อสุนัข
    public String getName() {
        return Name;
    }

    // Method สำหรับไว้ให้เรียกดูสายพันธุ์สุนัข
    public String getBreed() {
        return Breed;
    }
}

เมื่อสร้าง Class เสร็จ ให้ทดสอบการทำงานของ Class Dog

public class RunDog {

    public static void main(String[] args) {

        Dog dog1 = new Dog(); // สุนัขตัวที่ 1

        dog1.setName("Red"); // ชื่อสุนัข ชื่อว่า “Red”

        dog1.setBreed("Golden Retriever"); // ชื่อพันธุ์ สุนัขพันธุ์ “Golden Retriever”

        Dog dog2 = new Dog(); // สุนัขตัวที่ 1

        dog2.setName("Blue"); // ชื่อสุนัข ชื่อว่า “Blue”

        dog2.setBreed("Siberian Husky"); // ชื่อพันธุ์ สุนัขพันธุ์ “Siberian Husky”

        System.out.println("สุนัขตัวที่ 1");

        System.out.println("Name :" + dog1.getName());

        System.out.println("Breed :" + dog1.getBreed());

        System.out.println("สุนัขตัวที่ 2");

        System.out.println("Name :" + dog2.getName());

        System.out.println("Breed :" + dog2.getBreed());

    }

}

การทำงานเราจะทำการสร้าง Object ขึ้นมา Dog dog1 = new Dog(); ซึ่ง dog1 คือ Object จะมีคุณสมบัติเหมือนกับที่เรากำหนดไว้ใน Class Dog ซึ่ง Object ที่เราสร้างจะเปรียบเสมือนสุนัข 1 ตัว

        Dog dog1 = new Dog();  //สุนัขตัวที่ 1
        dog1.setName("Red");    // ชื่อสุนัข ชื่อว่า “Red”
        dog1.setBreed("Golden Retriever"); // ชื่อพันธุ์ สุนัขพันธุ์ “Golden Retriever”

หลังจากที่มี Object สุนัข 1 ตัว เราก็จะตั้งชื่อโดยเรียกใช้ Method set โดย dog1.setName("Red"); ระบุสายพันธุ์ dog1.setBreed("Golden Retriever"); โดยเราสามารถเรียก Method ในการกำหนดโดยใช้ . โดยใช้ Object dog1 เป็นตัวเรียกใช้ การแสดงผลเราก็ใช้ Object เรียกใช้ Method get

        System.out.println("สุนัขตัวที่ 1");
        System.out.println("Name :"+dog1.getName());
        System.out.println("Breed :"+dog1.getBreed());

ผลการ Run

สุนัขตัวที่ 1
Name :Red
Breed : Golden Retriever
สุนัขตัวที่ 2
Name :Blue
Breed : Siberian Husky

 

 

 

 

 

 

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
พิมพ์ข้อความเว็บบอร์ด แล้วกดไปโดยเว็บบอร์ดที่โชว์ในรูปแบบโทรศัพท์ทำยังไง
โดย Udomsak2539 จ 14 ก.ย. 2020 2:59 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
126
จ 14 ก.ย. 2020 3:05 pm โดย tsukasaz
keyword
โดย Udomsak2539 จ 14 ก.ย. 2020 11:27 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
176
อ 15 ก.ย. 2020 10:07 am โดย Udomsak2539
ลบคอมเม้นของเว็บบอร์ด PHP ยังไง
โดย Udomsak2539 จ 14 ก.ย. 2020 10:58 am บอร์ด MindPHP News & Feedback
2
154
จ 14 ก.ย. 2020 11:07 am โดย Udomsak2539
วิธีใช้คีย์ลัดเปลี่ยนภาษาใน Ubantu กดตรงไหนเหรอคะ
โดย fhakun จ 14 ก.ย. 2020 10:56 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
5
264
พ 16 ก.ย. 2020 5:09 pm โดย chatee supasand
การใส่ใจลูกน้อยวัยทารกที่มีอาการผื่นแดงแพ้ตามลำตัว
โดย medalezga ศ 11 ก.ย. 2020 4:38 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
259
ศ 11 ก.ย. 2020 4:38 pm โดย medalezga
วิธี Setup SSL ให้กับ GitLab เข้าใช้งาน https ได้ง่ายไม่ต้องแก้ไขโค้ดได้แล้วด้วย GitLab 12
โดย mindphp อ 08 ก.ย. 2020 8:29 pm บอร์ด Linux - Web Server
1
306
อ 08 ก.ย. 2020 8:42 pm โดย mindphp
สอบถามเรื่อง Output ข้อมูล Keywords ที่ได้จาก Youtube ครับ
โดย nai_cyp ส 05 ก.ย. 2020 6:35 pm บอร์ด Programming - C/C++ & java & Python
1
261
ส 05 ก.ย. 2020 7:53 pm โดย mindphp
geckodriver คืออะไรครับ ?
โดย nai_cyp พฤ 03 ก.ย. 2020 10:49 pm บอร์ด Programming - C/C++ & java & Python
2
389
ส 05 ก.ย. 2020 11:33 pm โดย nai_cyp
วิธีเลือกงาน
โดย jataz2 พฤ 03 ก.ย. 2020 5:51 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
276
พฤ 03 ก.ย. 2020 5:51 pm โดย jataz2
งานที่ได้เงินเดือนเยอะ
โดย jataz2 พฤ 03 ก.ย. 2020 5:38 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
232
พฤ 03 ก.ย. 2020 5:38 pm โดย jataz2
จัดการขยะ กับน้ำเสีย
โดย jataz2 พฤ 03 ก.ย. 2020 5:25 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
223
พฤ 03 ก.ย. 2020 5:25 pm โดย jataz2
ปัญหาการบันทึกใบแจ้งหนี้ในระบบ กับใบแจ้งหนี้/ใบกำกับภาษีที่ได้รับจากเจ้าหนี้ไม่ตรงกัน จะต้องทำอย่างไร
โดย natthanit.r2538 พฤ 03 ก.ย. 2020 3:51 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
201
พฤ 03 ก.ย. 2020 3:51 pm โดย natthanit.r2538
Edge Computing คืออะไร และมีประโยชน์อย่างไร
โดย nai_cyp อ 01 ก.ย. 2020 6:27 pm บอร์ด Share Knowledge
1
351
พฤ 10 ก.ย. 2020 5:15 pm โดย บุคคลทั่วไป
การสร้างบทความและสินค้าไว้ในหน้าเดียวกันในร้านค้าออนไลน์ด้วย Plugin Content Product Match ใน MooZiiCart
โดย bolue อ 01 ก.ย. 2020 3:51 pm บอร์ด MindPHP News & Feedback
0
292
อ 01 ก.ย. 2020 3:51 pm โดย bolue
โชว์สินค้าสไลด์ในร้านค้าออนไลน์ด้วย Module Ajax Search ใน MooZiiCart
โดย bolue อ 01 ก.ย. 2020 3:42 pm บอร์ด MindPHP News & Feedback
0
161
อ 01 ก.ย. 2020 3:42 pm โดย bolue
โชว์สินค้าสไลด์ในร้านค้าออนไลน์ด้วย Module Product Slide ใน MooZiiCart
โดย bolue อ 01 ก.ย. 2020 3:34 pm บอร์ด MindPHP News & Feedback
0
161
อ 01 ก.ย. 2020 3:34 pm โดย bolue
แสดงสถิติของร้านค้าในร้านค้าออนไลน์ด้วย Module Statistics ใน MooZiiCart
โดย bolue อ 01 ก.ย. 2020 3:30 pm บอร์ด MindPHP News & Feedback
0
142
อ 01 ก.ย. 2020 3:30 pm โดย bolue
แสดง ratings ของสินค้าในร้านค้าออนไลน์ด้วย Module Products Reviews ใน MooZiiCart
โดย bolue อ 01 ก.ย. 2020 3:20 pm บอร์ด MindPHP News & Feedback
0
136
อ 01 ก.ย. 2020 3:20 pm โดย bolue
แสดงป้ายกำกับสินค้าในร้านค้าออนไลน์ด้วย Module Product Labels ใน MooZiiCart
โดย bolue อ 01 ก.ย. 2020 3:12 pm บอร์ด MindPHP News & Feedback
0
151
อ 01 ก.ย. 2020 3:12 pm โดย bolue
Import excel .xlxs มีปัญหาอยู่ไฟล์หนึ่งไม่สามารถเเสดงได้ เจอ error ไม่ทราบว่าเกิดจากอะไร
โดย thatsawan อ 01 ก.ย. 2020 11:44 am บอร์ด Programming - PHP
1
593
อ 01 ก.ย. 2020 11:45 am โดย thatsawan