0Pricing
Python For Kids · บทเรียน

การสร้างคลาสและออบเจกต์

สร้างคลาส Python แรกของคุณ

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

การสร้างคลาสและออบเจ็กต์

ยินดีต้อนรับกลับสู่บทเรียนการเขียนโปรแกรมเชิงวัตถุ (OOP) วันนี้เราจะเรียนรู้วิธีสร้างคลาสและออบเจ็กต์ของคุณเองใน Python คลาสและออบเจ็กต์ช่วยจัดระเบียบโค้ดโดยรวมคุณสมบัติและพฤติกรรมที่เกี่ยวข้องไว้ด้วยกัน

การสร้างคลาสและออบเจกต์ — ภาพประกอบ 1

คลาสคืออะไร

คลาสเปรียบเสมือนพิมพ์เขียวสำหรับสร้างออบเจ็กต์ โดยกำหนดคุณสมบัติ (แอตทริบิวต์) และพฤติกรรม (เมธอด) ที่ออบเจ็กต์ซึ่งสร้างจากคลาสนั้นจะมี

  • แอตทริบิวต์: ลักษณะเฉพาะของออบเจ็กต์ (เช่น สี ขนาด)
  • เมธอด: การทำงานที่ออบเจ็กต์สามารถทำได้ (เช่น เคลื่อนที่ พูด)

ลองนึกถึงคลาสว่าเป็นสูตรอาหาร และออบเจ็กต์ว่าเป็นอาหารที่ทำตามสูตรนั้น

การกำหนดคลาสใน 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) ซึ่งช่วยให้คุณสร้างโปรแกรมที่ซับซ้อนและนำกลับมาใช้ใหม่ได้มากขึ้น ฝึกฝนต่อไปโดยสร้างคลาสของคุณเอง และทดลองใช้แอตทริบิวต์กับเมธอดที่หลากหลาย

การสร้างคลาสและออบเจกต์ — ภาพประกอบ 10

คำถามที่พบบ่อย

บทเรียน “การสร้างคลาสและออบเจกต์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การสร้างคลาสและออบเจกต์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บทนำสู่การเขียนโปรแกรมเชิงวัตถุ
  2. การสร้างคลาสและออบเจกต์
  3. การสืบทอด
  4. การห่อหุ้ม
  5. พหุสัณฐาน
← กลับไปที่ Python For Kids