15
เรียกวิธีการเรียนของผู้ปกครองจากชั้นเรียนเด็ก?
เมื่อสร้างลำดับชั้นวัตถุแบบง่าย ๆ ใน Python ฉันต้องการที่จะสามารถเรียกใช้เมธอดของคลาสพาเรนต์จากคลาสที่ได้รับ ใน Perl และ Java มีคำสำคัญสำหรับสิ่งนี้ ( super) ใน Perl ฉันอาจทำสิ่งนี้: package Foo; sub frotz { return "Bamf"; } package Bar; @ISA = qw(Foo); sub frotz { my $str = SUPER::frotz(); return uc($str); } ใน Python ดูเหมือนว่าฉันต้องตั้งชื่อคลาส parent อย่างชัดเจนจาก child Foo::frotz()ในตัวอย่างข้างต้นที่ผมจะต้องทำสิ่งที่ชอบ สิ่งนี้ดูไม่ถูกต้องเนื่องจากพฤติกรรมนี้ทำให้ยากที่จะสร้างลำดับชั้นลึก หากเด็กจำเป็นต้องรู้ว่าคลาสใดที่กำหนดวิธีการสืบทอดมาจากนั้นความเจ็บปวดด้านข้อมูลทุกประเภทจะถูกสร้างขึ้น นี่เป็นข้อ จำกัด ที่แท้จริงในหลามช่องว่างในความเข้าใจของฉันหรือทั้งสองอย่าง?
607
python
inheritance
class
object