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());
}
}
#include <stdio.h>
#include <string.h>
struct StudentIDCard {
int id;
char name[50];
char faculty[50];
char major[50];
int year;
};
int main() {
struct StudentIDCard student1;
student1.id = 1234567;
strcpy(student1.name, "Benyapha");
strcpy(student1.faculty, "Science");
strcpy(student1.major, "Computer Science");
student1.year = 3;
printf("Id Name: %d\n", student1.id);
printf("Name: %s\n", student1.name);
printf("Faculty: %s\n", student1.faculty);
printf("Major: %s\n", student1.major);
printf("Year: %d\n", student1.year);
return 0;
}
class StudentIDCard:
def __init__(self, id, name, faculty, major, year):
self.id = id
self.name = name
self.faculty = faculty
self.major = major
self.year = year
student1 = StudentIDCard(1234567, "Benyapha", "Science", "Computer Science", 3)
print("Id Name:", student1.id)
print("Name:", student1.name)
print("Faculty:", student1.faculty)
print("Major:", student1.major)
print("Year:", student1.year)
ID: 1234567
Name: Benyapha
Faculty: Science
Major: Computer Science
Year: 3
คลิปนำเสนอ
Presentation (Slides)
แหล่งที่มาอ้างอิง
แหล่งที่มาอ้างอิงเนื้อหา
แหล่งอ้างอิงตัวอย่าง Code C#
แหล่งอ้างอิงตัวอย่าง Code Java
แหล่งอ้างอิงตัวอย่าง Code C
แหล่งอ้างอิงตัวอย่าง Code Python
Last updated