Structures

เบญญาภา รัตนวิชัย 650710218

Structures คืออะไร

Structures แปลว่า โครงสร้าง ดังนั้น Structures ก็คือ โครงสร้างที่เก็บประเภทตัวแปร และตัวแปรไว้ แต่ Structures ไม่สามารถสืบทอดโครงสร้างอื่นได้เหมือน Class การสร้าง Structures เราจะใช้คีย์เวิร์ดว่า Struct ข้างหน้าชื่อ Structures โดยภายข้างใน Structures จะมีประเภทตัวแปร และชื่อตัวแปรอยู่ด้วยยกตัวอย่างดังนี้

struct  Student_ID_card{
    public int id;
    public String name;
    public String faculty;
    public String major;
    public int year;
}

จากตัวอย่างเป็นการสร้างบัตรนักศึกษาโดย Structures มีชื่อว่า Student_ID_card ภายในโครงสร้าง กำหนดให้เป็น public ทั้งหมดเพื่อเปิดให้เข้าถึงได้ทุกที่ โดยมี ตัวแปรรหัสนักศึกษา id_name ประเภทตัวแปรเป็นจำนวนเต็ม(int) และตัวแปรชื่อนักศึกษา name ประเภทตัวแปรเป็น String และตัวแปรคณะ faculty ประเภทตัวแปรเป็น String และตัวแปรสาขา Major ประเภทตัวแปรเป็น String และตัวแปรชั้นปี year ประเภทตัวแปรเป็น int

จากตัวอย่างยังคงเป็นบัตรนักศึกษาเปล่าๆอยู่ที่ยังไม่มีข้ออมูลของนักศึกษา ดังนั้นเรามาใส่ข้อมูลนักศึกษากัน

using System;
struct  Student_ID_card{
    public int id;
    public String name;
    public String faculty;
    public String major;
    public int year;
}
class Student {
    static void Main(string[] args){
        Student_ID_card student1;
        student1.id = 1234567;
        student1.name = "Benyapha";
        student1.faculty = "Science";
        student1.major = "Computer Science";
        student1.year = 3;
        
        Console.WriteLine("ID: " + student1.id);
        Console.WriteLine("Name: " + student1.name);
        Console.WriteLine("Faculty: " + student1.faculty);
        Console.WriteLine("Major: " + student1.major);
        Console.WriteLine("Year: " + student1.year); 
    } 
}

ผลลัพธ์

ID: 1234567
Name: Benyapha
Faculty: Science
Major: Computer Science
Year: 3

แล้วถ้าเราต้องการสร้าง student2 ล่ะ ทำได้ดังนี้

using System;
struct Student_ID_card{
    public int id;
    public String name;
    public String faculty;
    public String major;
    public int year;
}
class Student {
static void Main(string[] args){
    Student_ID_card student1;
    Student_ID_card student2;
    student1.id = 1234567;
    student1.name = "Benyapha";
    student1.faculty = "Science";
    student1.major = "Computer Science";
    student1.year = 3;
    
    student2.id = 8910111;
    student2.name = "Benben";
    student2.faculty = "Science";
    student2.major = "Computer Science";
    student2.year = 3;
    
    Console.WriteLine("ID: " + student1.id);
    Console.WriteLine("Name: " + student1.name);
    Console.WriteLine("Faculty: " + student1.faculty);
    Console.WriteLine("Major: " + student1.major);
    Console.WriteLine("Year: " + student1.year+"\n");
    
    Console.WriteLine("ID: " + student2.id);
    Console.WriteLine("Name: " + student2.name);
    Console.WriteLine("Faculty: " + student2.faculty);
    Console.WriteLine("Major: " + student2.major);
    Console.WriteLine("Year: " + student2.year); 
    } 
}

เท่ากับว่าข้อมูลนักศึกษา 2 คน มีบัตรนักศึกษา 2 ใบแล้ว

ผลลัพธ์

ID: 1234567
Name: Benyapha
Faculty: Science
Major: Computer Science
Year: 3

ID: 8910111
Name: Benben
Faculty: Science
Major: Computer Science
Year: 3

เปรียบเทียบกับภาษา Java, C, Python

class StudentIDCard {
    private int id;
    private String name;
    private String faculty;
    private String major;
    private int year;
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getFaculty() {
        return faculty;
    }
    public void setFaculty(String faculty) {
        this.faculty = faculty;
    }
    public String getMajor() {
        return major;
    }
    
    public void setMajor(String major) {
        this.major = major;
    }
    public int getYear() {
        return year;
    }
    public void setYear(int year) {
        this.year = year;
    }
}
public class Student {
    public static void main(String[] args) {
        StudentIDCard student1 = new StudentIDCard();
 
        student1.setId(1234567);
        student1.setName("Benyapha");
        student1.setFaculty("Science");
        student1.setMajor("Computer Science");
        student1.setYear(3);
        
        System.out.println("ID: " + student1.getId());
        System.out.println("Name: " + student1.getName());
        System.out.println("Faculty: " + student1.getFaculty());
        System.out.println("Major: " + student1.getMajor());
        System.out.println("Year: " + student1.getYear());
    }
}

คลิปนำเสนอ

Presentation (Slides)

แหล่งที่มาอ้างอิง

แหล่งที่มาอ้างอิงเนื้อหา

แหล่งอ้างอิงตัวอย่าง Code C#

แหล่งอ้างอิงตัวอย่าง Code Java

แหล่งอ้างอิงตัวอย่าง Code C

แหล่งอ้างอิงตัวอย่าง Code Python

Last updated