Java basic | Java OOP | โครงสร้างข้อมูล | โจทย์ ACM



[Java OOP]การใช้งาน Constructor

No comments
          จากบทความ Class และ object คืออะไร เราได้เขียน class Dog ไว้แล้วก่อนหน้านี้แล้งครั้งนั้น Constructor เรายังไม่มีการกำหนดค่าอะไรเลย โดยบทความนั้นเราตอน ทดสอบ class Dog จะมีขั้นตอนการ setName ,setBreed รู้สึกว่ายุ่งยากมาก เราจะมาทำการกำหนดค่าต่างๆง่ายให้ง่ายขึ้นโดยการใช้ Constructor กัน
         ทำได้ง่ายๆโดยการเพิ่มคอนทรักเจอร์(Constructor) เข้าไปใน Class Dog ทำให้ Constructor มีการรับค่าพารามีเตอร์เข้าไป (String name กับ String breed) ดังโค้ดด้านล่าง
//คอนทรักเจอร์ 
            Dog(String name ,String breed){
                  this.Name = name;
                  this.Breed = breed;
            }
เวลาจะกำหนดค่า ออปเจกก็ไม่ต้องไปใช้ setName ,setBreed เลยโดยการพิมพ์
Dog d = new Dog("มีมี่","ชิวาวา");  //สุนักตัวที่ 1

วิธีใช้งาน

เมื่อแตกไฟล์ออกมาจะได้ 2 ไฟล์ คือ 
  1. Dog.java
  2. TestDog.java

1. Dog.Java  

/**
 * เป็น class dog
 * @author http://javaagkasit.blogspot.com
 */
public class Dog {
    //กำหนดคุณสมบัติ
    String Name;
    String Breed;

    //คอนทรักเจอร์
    Dog(){
    }
    //คอนทรักเจอร์ โอเวอร์โลดดิ่ง
    Dog(String name ,String breed){
        this.Name = name;
        this.Breed = breed;
    }
    // เมทธอต สำหรับ กำหนดชื่อสุนัข
    public void setName(String name){
        Name = name;
    }
    // เมทธอต สำหรับ กำหนดสายพันธุ์
    public void setBreed(String breed){
        Breed = breed;
    }

     // เมทธอต สำหรับไว้ให้เรียกดูชื่อสุนัข
    public String getName(){
        return Name;
    }
    // เมทธอต สำหรับไว้ให้เรียกดูสายพันธุ์สุนัข
    public String getBreed(){
        return Breed;
    }

}

2.TestDog.java

/**
 *class สำหรับ ทดสอบ class Dog
 * @author http://javaagkasit.blogspot.com
 */
public class TestDog {
    public static void main(String [] args){
        Dog d = new Dog("มีมี่","ชิวาวา");  //สุนักตัวที่ 1
//        d.setName("มี่มี้");    // ตั้วชื่อว่า มี่มี้
//        d.setBreed("ชิวาวา"); // สุนักพันธุ์ ชิวาวา
        
        Dog d2 = new Dog("ก้าน","บางแก้ว");   //สุนักตัวที่ 2
//        d2.setName("ก้าน");    // ตั้วชื่อว่า ก้าน
//        d2.setBreed("บางแก้ว"); // สุนักพันธุ์ บางแก้ว
        
        System.out.println("สุนักตัวที่ 1");
        System.out.println(" ชื่อ :"+d.getName());
        System.out.println("พันธุ์ :"+d.getBreed());
        
        System.out.println("สุนักตัวที่ 2");
        System.out.println(" ชื่อ :"+d2.getName());
        System.out.println("พันธุ์ :"+d2.getBreed());
    }
}

สรุป Constructor

คือ การกำหนดรูปแบบการรับค่าให้กับ class จะมีประโยชน์ กรณีที่เราต้องการกำหนดค่าตัวแปรใน class ทั้งหมดที่เราประกาศไว้ โดยไม่ต้องกำหนดทีละตัวแปร และอย่างจะช่วยให้เราไม่ต้องเขียนโค้ดเยอะในการเก็บค่าตัวแปร

เนื้อหาที่เกี่ยวข้อง

ศึกษาเพิ่มได้ที่

share

No comments :

Post a Comment