0Pricing
Ruby Academy · บทเรียน

การสืบทอดและพหุรูปแบบ

สำรวจวิธีที่ Ruby ทำให้โค้ดนำกลับมาใช้ใหม่ได้ผ่านการสืบทอดคลาสและการเขียนทับเมธอด

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

การขยายคลาสในรูบี

การสืบทอดและพหุรูป

การสืบทอดช่วยให้คลาสหนึ่งสืบทอดพฤติกรรมจากอีกคลาสหนึ่งได้

พหุรูปช่วยให้คลาสที่แตกต่างกันตอบสนองต่อเมธอดเดียวกันในรูปแบบที่แตกต่างกันได้

ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีใช้การสืบทอดและพหุรูปในรูบี

การสืบทอดและพหุรูปแบบ — ภาพประกอบ 1

การใช้การสืบทอด

การใช้การสืบทอด

คลาสลูกจะสืบทอดพฤติกรรมจากคลาสแม่โดยใช้ <

class Animal
  def speak
    puts 'Animal makes a sound'
  end
end

class Dog < Animal
end

dog = Dog.new
dog.speak

การใช้คำสั่ง super

การใช้คำสั่ง super

คีย์เวิร์ด super ใช้เรียกเมธอดจากคลาสแม่

class Animal
  def speak
    puts 'Animal makes a sound'
  end
end

class Dog < Animal
  def speak
    super
    puts 'Dog barks'
  end
end

dog = Dog.new
dog.speak

การเขียนทับเมธอด

การเขียนทับเมธอด

คลาสลูกสามารถเขียนทับเมธอดจากคลาสแม่ได้

class Animal
  def speak
    puts 'Animal makes a sound'
  end
end

class Dog < Animal
  def speak
    puts 'Dog barks'
  end
end

dog = Dog.new
dog.speak

ทำความเข้าใจพหุรูป

ทำความเข้าใจพหุรูป

คลาสที่แตกต่างกันสามารถนำเมธอดเดียวกันไปใช้งานในรูปแบบที่แตกต่างกันได้

class Animal
  def speak
    puts 'Animal makes a sound'
  end
end

class Dog < Animal
  def speak
    puts 'Dog barks'
  end
end

class Cat < Animal
  def speak
    puts 'Cat meows'
  end
end

dog = Dog.new
dog.speak

cat = Cat.new
cat.speak

การคงเมธอดของคลาสแม่ไว้

การคงเมธอดของคลาสแม่ไว้

คลาสลูกสามารถขยายเมธอดแทนการเขียนทับเมธอดนั้นทั้งหมดได้

class Animal
  def speak
    puts 'Animal sound'
  end
end

class Bird < Animal
  def speak
    super
    puts 'Bird chirps'
  end
end

bird = Bird.new
bird.speak

การขยายเมธอดด้วยคลาสแบบเปิด

การขยายเมธอดด้วยคลาสแบบเปิด

รูบีอนุญาตให้เปิดคลาสขึ้นมาอีกครั้งและแก้ไขเมธอดของคลาสแบบไดนามิกได้

class String
  def shout
    self.upcase + '!!!'
  end
end

puts 'hello'.shout

ตัวอย่างสุดท้ายของการเขียนทับเมธอด

ตัวอย่างสุดท้ายของการเขียนทับเมธอด

เขียนทับเมธอดเพื่อกำหนดพฤติกรรมเฉพาะให้กับคลาสลูก

class Vehicle
  def move
    puts 'Vehicle is moving'
  end
end

class Car < Vehicle
  def move
    puts 'Car is driving'
  end
end

car = Car.new
car.move

ยินดีด้วย!

ยินดีด้วย!

คุณได้เรียนรู้วิธีใช้การสืบทอดและพหุรูปในรูบีแล้ว

ต่อไป คุณจะได้ศึกษา mixin และโมดูล

การสืบทอดและพหุรูปแบบ — ภาพประกอบ 10

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

บทเรียน “การสืบทอดและพหุรูปแบบ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การสืบทอดและพหุรูปแบบ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ruby Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การสืบทอดและพหุรูปแบบ”

สำรวจวิธีที่ Ruby ทำให้โค้ดนำกลับมาใช้ใหม่ได้ผ่านการสืบทอดคลาสและการเขียนทับเมธอด คุณปฏิบัติ Ruby Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ruby Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ruby Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การสืบทอดและพหุรูปแบบ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ruby Academy นี้ได้ไหม

ได้ บทเรียน Ruby Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. คลาสและออบเจ็กต์
  2. ตัวแปรอินสแตนซ์และเมธอด
  3. การสืบทอดและพหุรูปแบบ
  4. มิกซ์อินและโมดูล
← กลับไปที่ Ruby Academy