การสร้างคลาสและออบเจกต์
สร้างคลาส Python แรกของคุณ
การสร้างคลาสและออบเจกต์ เป็นบทเรียน Python For Kids ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 5 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python For Kids และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python For Kids มีบทเรียนทั้งหมด 5 บทเรียน
การสร้างคลาสและออบเจ็กต์
ยินดีต้อนรับกลับสู่บทเรียนการเขียนโปรแกรมเชิงวัตถุ (OOP) วันนี้เราจะเรียนรู้วิธีสร้างคลาสและออบเจ็กต์ของคุณเองใน Python คลาสและออบเจ็กต์ช่วยจัดระเบียบโค้ดโดยรวมคุณสมบัติและพฤติกรรมที่เกี่ยวข้องไว้ด้วยกัน

คลาสคืออะไร
คลาสเปรียบเสมือนพิมพ์เขียวสำหรับสร้างออบเจ็กต์ โดยกำหนดคุณสมบัติ (แอตทริบิวต์) และพฤติกรรม (เมธอด) ที่ออบเจ็กต์ซึ่งสร้างจากคลาสนั้นจะมี
- แอตทริบิวต์: ลักษณะเฉพาะของออบเจ็กต์ (เช่น สี ขนาด)
- เมธอด: การทำงานที่ออบเจ็กต์สามารถทำได้ (เช่น เคลื่อนที่ พูด)
ลองนึกถึงคลาสว่าเป็นสูตรอาหาร และออบเจ็กต์ว่าเป็นอาหารที่ทำตามสูตรนั้น
การกำหนดคลาสใน Python
คุณสามารถกำหนดคลาสใน Python ได้โดยใช้คีย์เวิร์ด class ตามด้วยชื่อคลาสและเครื่องหมายโคลอน ภายในคลาส คุณจะกำหนดแอตทริบิวต์และเมธอด
ไวยากรณ์:
class ClassName:
def __init__(self, attribute1, attribute2):
self.attribute1 = attribute1
self.attribute2 = attribute2
def method_name(self):
# Code for the method
pass
เมธอด __init__
เมธอด __init__ เป็นเมธอดพิเศษในคลาส Python เมธอดนี้จะถูกเรียกเมื่อคุณสร้างออบเจ็กต์ใหม่จากคลาส และใช้สำหรับเริ่มต้นค่าแอตทริบิวต์ของออบเจ็กต์
ตัวอย่าง:
# Defines the Person class with name and age attributes
class Person:
def __init__(self, name, age):
self.name = name # Sets the name of the person
self.age = age # Sets the age of the person
การสร้างออบเจ็กต์จากคลาส
เมื่อกำหนดคลาสแล้ว คุณสามารถสร้างออบเจ็กต์ (อินสแตนซ์) จากคลาสนั้นได้โดยเรียกชื่อคลาสในลักษณะเดียวกับฟังก์ชัน
ตัวอย่าง:
# Creates an object of the Person class
person1 = Person("Alice", 12)
# Accesses the object's attributes
print(person1.name) # Output: Alice
print(person1.age) # Output: 12
การเพิ่มเมธอดให้คลาส
เมธอดคือฟังก์ชันที่กำหนดไว้ภายในคลาส เพื่ออธิบายพฤติกรรมของออบเจ็กต์ที่สร้างจากคลาสนั้น
ตัวอย่าง:
# Defines the Person class with a greet method
class Person:
def __init__(self, name, age):
self.name = name # Sets the name of the person
self.age = age # Sets the age of the person
def greet(self):
print("Hello, my name is " + self.name + "!") # Prints a greeting message
# Creates an object of the Person class
person1 = Person("Bob", 15)
# Calls the greet method of the object
person1.greet() # Output: Hello, my name is Bob!
โปรแกรมตัวอย่าง: การสร้างคลาสอย่างง่าย
มาสร้างคลาส Car อย่างง่ายที่มีแอตทริบิวต์และเมธอด เพื่อทำความเข้าใจการทำงานของคลาสและออบเจ็กต์กัน
โค้ด:
# Defines the Car class
class Car:
def __init__(self, make, model, color):
self.make = make # Sets the make of the car
self.model = model # Sets the model of the car
self.color = color # Sets the color of the car
def display_info(self):
print("Car Make:", self.make) # Prints the make of the car
print("Car Model:", self.model) # Prints the model of the car
print("Car Color:", self.color) # Prints the color of the car
def paint(self, new_color):
self.color = new_color # Changes the color of the car
print("The car has been painted to", self.color) # Confirms the color change
# Creates an object of the Car class
my_car = Car("Toyota", "Corolla", "Red")
# Calls the display_info method
my_car.display_info()
# Output:
# Car Make: Toyota
# Car Model: Corolla
# Car Color: Red
# Calls the paint method to change the car's color
my_car.paint("Blue")
# Output: The car has been painted to Blue
# Displays the updated car information
my_car.display_info()
# Output:
# Car Make: Toyota
# Car Model: Corolla
# Car Color: Blue
ตัวแปรของอินสแตนซ์เทียบกับตัวแปรของคลาส
ในคลาส Python ตัวแปรสามารถแบ่งได้เป็นประเภทต่าง ๆ ดังนี้:
- ตัวแปรของอินสแตนซ์: มีค่าเฉพาะสำหรับออบเจ็กต์แต่ละอินสแตนซ์
- ตัวแปรของคลาส: ใช้ร่วมกันในอินสแตนซ์ทั้งหมดของคลาส
มาดูวิธีใช้ตัวแปรทั้งสองประเภทกัน
# Defines the Student class with a class variable
class Student:
school = "XYZ High School" # Class variable
def __init__(self, name):
self.name = name # Instance variable
def display_info(self):
print(self.name + " attends " + Student.school) # Prints student info
# Creates two objects of the Student class
student1 = Student("Alice")
student2 = Student("Bob")
# Calls the display_info method for both students
student1.display_info()
student2.display_info()
ทำได้ดีมาก
คุณได้เรียนรู้วิธีสร้างคลาสและออบเจ็กต์ใน Python รวมถึงการกำหนดแอตทริบิวต์และเมธอดเพื่อจัดระเบียบโค้ดอย่างมีประสิทธิภาพแล้ว ความเข้าใจเรื่องคลาสและออบเจ็กต์เป็นพื้นฐานสำคัญของการเขียนโปรแกรมเชิงวัตถุ (OOP) ซึ่งช่วยให้คุณสร้างโปรแกรมที่ซับซ้อนและนำกลับมาใช้ใหม่ได้มากขึ้น ฝึกฝนต่อไปโดยสร้างคลาสของคุณเอง และทดลองใช้แอตทริบิวต์กับเมธอดที่หลากหลาย

คำถามที่พบบ่อย
บทเรียน “การสร้างคลาสและออบเจกต์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสร้างคลาสและออบเจกต์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python For Kids ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python For Kids มีบทเรียนทั้งหมด 5 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสร้างคลาสและออบเจกต์”
สร้างคลาส Python แรกของคุณ คุณปฏิบัติ Python For Kids ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python For Kids หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python For Kids บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 5 บทเรียน
บทเรียน “การสร้างคลาสและออบเจกต์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python For Kids นี้ได้ไหม
ได้ บทเรียน Python For Kids ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่การเขียนโปรแกรมเชิงวัตถุ
- การสร้างคลาสและออบเจกต์
- การสืบทอด
- การห่อหุ้ม
- พหุสัณฐาน