คลาสใน Ruby คืออะไร
ชั้นเรียนเป็นส่วนประกอบพื้นฐานในการเขียนโปรแกรมเชิงวัตถุ (OOP) และช่วยให้คุณกำหนดพิมพ์เขียวสำหรับการสร้างวัตถุ
วัตถุคือผลิตภัณฑ์ของคลาส .
แล้ววัตถุคืออะไร?
วัตถุคือ "สิ่งของ" ส่วนบุคคล โดยมีเอกลักษณ์และข้อมูลของมันเอง
ตัวอย่างเช่น :
Book
ชั้นเรียนอาจเป็นพิมพ์เขียวสำหรับการสร้างหนังสือ
คลาสนี้กำหนดคุณลักษณะที่หนังสือทุกเล่มมีเหมือนกัน เช่น:
- ชื่อเรื่อง
- นักเขียน
- หน้า
- เป็นต้น
หนังสือทุกเล่มเป็นวัตถุ &คุณสามารถสร้างวัตถุได้หลายอย่างเหมือนกันด้วย Book
ระดับ. นั่นคือจุดเริ่มต้นของการสร้างคลาส เพราะเป็นพิมพ์เขียวที่ใช้ซ้ำได้สำหรับแอปพลิเคชัน Ruby ของคุณ
ตอนนี้ :
คุณจะได้เรียนรู้วิธีการเขียนชั้นเรียนของคุณเองเพื่อเริ่มเขียนโค้ด OOP ตั้งแต่วันนี้
วิธีสร้างคลาสรูบี้
ไวยากรณ์สำหรับการสร้างคลาสจะเป็นดังนี้:
class Orange end
สังเกตว่า :
- ชื่อคลาสขึ้นต้นด้วยตัวพิมพ์ใหญ่
- เราใช้
class
คีย์เวิร์ด แล้วตามด้วยend
คีย์เวิร์ด - คลาสว่างนั้นไม่ค่อยมีประโยชน์นัก แต่คุณยังสามารถสร้างวัตถุจากคลาสนั้นได้
มีวิธีอื่นในการสร้างชั้นเรียน (เช่น Class.new
) แต่วิธีการเหล่านี้มีประโยชน์ในสถานการณ์พิเศษเท่านั้น
หนึ่งคลาส หลายวัตถุ
การใช้งานหลักของคลาสคือการเป็นที่เก็บของเมธอด ตัวแปรอินสแตนซ์ &ค่าคงที่ สร้างพิมพ์เขียวที่คุณสามารถสร้างออบเจ็กต์ได้
คุณสามารถสร้างวัตถุโดยใช้ new
วิธีการ
ถูกใจสิ่งนี้ :
Orange.new
เรารู้กระบวนการสร้างวัตถุว่าเป็น "ตัวอย่าง" และเราบอกว่าวัตถุนั้นเป็น "ตัวอย่าง" ของคลาส
ทำไมต้องสร้างวัตถุ
เพราะทุกวัตถุที่คุณสร้างนั้นแตกต่างและไม่ซ้ำกัน .
ทุกวัตถุมีเอกลักษณ์เป็นของตัวเอง
ตัวอย่างเช่น :
ด้วย Orange
คลาสทุก Orange
วัตถุที่คุณสร้างมีน้ำหนัก ประเทศต้นกำเนิด คุณภาพ ฯลฯ
ทำให้คลาส Ruby มีประโยชน์มากขึ้น
คลาสจะมีประโยชน์มากขึ้นเมื่อคุณเริ่มเพิ่มเมธอดของอินสแตนซ์และตัวแปรอินสแตนซ์เข้าไป
วิธีการคือสิ่งที่ชั้นเรียนของคุณทำได้
ตัวอย่างเช่น :
คั้นน้ำส้มคั้นได้
นี่คือตัวอย่างโค้ด :
class Orange def squeeze puts "Here's your juice!" end end orange = Orange.new orange.squeeze
วิธีการเหล่านี้กลายเป็นคำสั่งสำหรับวัตถุของคุณ!
ทุก Orange
วัตถุที่คุณสร้างจะสามารถเข้าถึง squeeze
method &นั่นคือข้อดีอย่างหนึ่งของการใช้คลาส
ตัวแปรตัวอย่าง เป็นสิ่งที่ชั้นเรียนของคุณรู้ .
ตัวอย่าง:
class Orange def initialize @juice_available = 100 end def squeeze @juice_available -= 50 end end
ตัวแปรอินสแตนซ์แตกต่างจากตัวแปรในเครื่องเพราะขึ้นต้นด้วย @
เครื่องหมาย. คุณไม่สามารถเข้าถึงได้นอกชั้นเรียน เว้นแต่คุณจะกำหนด attr_accessor
คลาสอะไร
เมื่อทำงานกับวัตถุใน Ruby การรู้ว่าวัตถุนั้นทำมาจากคลาสใด
ทำแบบนี้ก็ได้ :
"".class # String [].class # Array orange.class # Orange (assuming orange = Orange.new)
เหตุใดจึงมีประโยชน์
วิธีการคือกลไกเล็กๆ ที่ทำให้สิ่งต่างๆ เกิดขึ้นใน Ruby
ถ้าคุณรู้จักชั้นเรียน คุณจะรู้ว่ามีวิธีใดบ้าง (ใช้ Google, ri
, หรือ pry
) กล่าวอีกนัยหนึ่ง คุณสามารถค้นหาสิ่งที่วัตถุสามารถทำอะไรให้คุณ!
เรียนรู้เพิ่มเติมเกี่ยวกับชั้นเรียน
นี่เป็นเพียง “ส่วนปลายของภูเขาน้ำแข็ง” เมื่อพูดถึงชั้นเรียน
หากคุณต้องการเรียนรู้เพิ่มเติม…
อ่านสิ่งเหล่านี้ :
- วิธีการเริ่มต้นทับทิม
- Attr_accessor, attr_reader, attr_writer
- การสืบทอดใน OOP
- การเขียนโปรแกรมเชิงวัตถุ
คลาส Btw เองก็เป็นวัตถุเช่นกัน อย่างน้อยก็ใน Ruby 🙂
สรุป
คุณได้เรียนรู้เกี่ยวกับคลาสใน Ruby แล้ว วิธีสร้างคลาส และเหตุใดจึงมีประโยชน์!
อย่าลืมแชร์บทความนี้เพื่อให้คนอื่นได้สนุกไปกับมัน
ขอบคุณสำหรับการอ่าน