ການຮັບພີມຂອງ Python
- 上一页 Python 类/对象
- 下一页 ການກະຕຸ້ນວັດຖຸ Python
ການຮັບພີມຂອງ Python
ການຖືກນຳມາຈາກປະເພດອື່ນໆອາດອະນຸຍາດພວກເຮົາທີ່ຈະສ້າງປະເພດທີ່ມີວິທີການ ແລະ ຜະສັກຂອງປະເພດອື່ນໆ.
ປະເພດຜູ້ແທນແມ່ນປະເພດທີ່ຖືກນຳມາຈາກປະເພດອື່ນໆ ກໍ່ເອີ້ນວ່າປະເພດພື້ນຖານ.
ປະເພດພິເສດແມ່ນປະເພດທີ່ຖືກນຳມາຈາກປະເພດອື່ນໆ ກໍ່ເອີ້ນວ່າປະເພດພິເສດ.
ສ້າງປະເພດຜູ້ແທນ
ປະເພດໃດໆສາມາດເປັນປະເພດຜູ້ແທນໄດ້ ດັ່ງນັ້ນວິທີການຂອງມັນຕົກຕົນກັບການສ້າງປະເພດອື່ນໆ:
实例
ສ້າງປະເພດ Person ທີ່ມີຜະສັກ firstname ແລະ lastname ແລະວິທີການ printname:
class Person: def __init__(self, fname, lname): self.firstname = fname self.lastname = lname def printname(self): print(self.firstname, self.lastname) # 使用 Person 来创建对象,然后执行 printname 方法: x = Person("Bill", "Gates") x.printname()
创建子类
ການສ້າງປະເພດລູກທີ່ຈະລວມມາວິທະຍານຈາກປະເພດອື່ນ, ທ່ານຈະໃຫ້ປະເພດຜູ້ປົກຄອງຄືກົດເປັນການສົ່ງຂໍ້ມູນໃນການສ້າງປະເພດລູກ:
实例
ການສ້າງປະເພດຊື່ວ່າ Student ທີ່ຈະລວມມາທັງວິທະຍານແລະວິທະຍານຈາກປະເພດ Person:
class Student(Person): pass
ບັນທືກ:ຖ້າທ່ານບໍ່ຕ້ອງໃຫ້ປະເພດມີປະສົມຫຼືວິທະຍານອີກໃດ, ທ່ານຈະໃຊ້ pass
关键字。
ປະເພດ Student ມີວິທະຍານແລະວິທະຍານທີ່ອັນດຽວກັບປະເພດ Person.
实例
ການໃຊ້ປະເພດ Student ໃນການສ້າງບັນດາວັດຖຸ, ແລະສ້າງກອງການ printname():
x = Student("Elon", "Musk") x.printname()
ການເພີ່ມ __init__()
ຈົນເຖິງປັດຈຸບັນພວກເຮົາໄດ້ສ້າງປະເພດລູກທີ່ຈະລວມມາທັງວິທະຍານແລະວິທະຍານຈາກປະເພດຜູ້ປົກຄອງ
ພວກເຮົາຕ້ອງການເພີ່ມ __init__()
ກອງການເພີ່ມຕໍ່ປະເພດລູກ(ບໍ່ pass
关键字)。
ບັນທືກ:ໃນເວລາທີ່ຈະໃຊ້ປະເພດມີຄວາມຄິດກັນທີ່ຈະສ້າງບັນດາບັນດາວັດຖຸໃຫ້ປະເພດຈະໂຫມພະຍານ __init__() ຄວາມຄິດກັນຈະຖືກໂຫມຢ່າງອົງອອກ.
实例
ການເພີ່ມກອງການ __init__() ຕໍ່ປະເພດ Student:
class Student(Person): def __init__(self, fname, lname): # ການເພີ່ມປະສົມຫຼືອີກ
ຄືບໍ່ຈະໃຫ້ການລວມມາການສືບຕໍ່ອາຍຸການລວມປະກອບປະກອງຜູ້ປົກຄອງ __init__() ທີ່ຈະປຸກລະດັບການສືບຕໍ່ອາຍຸການລວມປະກອບປະກອງຜູ້ປົກຄອງ __init__() ທີ່ຈະລວມມາຈາກປະເພດລູກ
ບັນທືກ:ກອງການ __init__() ຂອງປະເພດລູກຈະປຸກລະດັບການສືບຕໍ່ອາຍຸການລວມປະກອບປະກອງຜູ້ປົກຄອງ __init__()
ກໍຕ້ອງກັບມາສືບຕໍ່ອາຍຸການລວມປະກອບປະກອງຜູ້ປົກຄອງ __init__() ທີ່ຈະໃຫ້ການເອິ້ນປະກອບປະກອງຜູ້ປົກຄອງ __init__()
实例
class Student(Person): def __init__(self, fname, lname): Person.__init__(self, fname, lname)
ປັດຈຸບັນພວກເຮົາໄດ້ສ້າງກອງການ __init__() ໄດ້ແລະກັບມາການສືບຕໍ່ອາຍຸການລວມປະເພດຜູ້ປົກຄອງ, ພວກເຮົາພ້ອມທີ່ຈະເພີ່ມພາລະຫວັດໃນກອງການ __init__()
ການໃຊ້ກອງການ super()
Python ຍັງມີ super()
ທີ່ຈະເຮັດໃຫ້ປະເພດລູກຈະລວມມາທັງວິທະຍານແລະປະສົມຈາກປະເພດຜູ້ປົກຄອງ:
实例
class Student(Person): def __init__(self, fname, lname): super().__init__(fname, lname)
ການໃຊ້ກອງການ super()
ກອງການເພີ່ມປະສົມທີ່ທ່ານບໍ່ຕ້ອງໃຊ້ຊື່ປະສົມຂອງປະກອບປະກອງຜູ້ປົກຄອງຈະອາດລວມມາຈາກປະກອບປະກອງຜູ້ປົກຄອງເອງ.
ການເພີ່ມປະສົມ
实例
把名为 graduationyear
ການເພີ່ມປະສົມອາຊີບໃຫ້ Student
ປະເພດ:
class Student(Person): def __init__(self, fname, lname): super().__init__(fname, lname) self.graduationyear = 2019
在这例子中,2019 年应该是一个变量,并在创建 student 对象时传递到 Student 类。为此,请在 __init__() 函数中添加另一个参数:
实例
添加 year
参数,并在创建对象时传递正确的年份:
class Student(Person): def __init__(self, fname, lname, year) super().__init__(fname, lname) self.graduationyear = year x = Student("Elon", "Musk", 2019)
添加方法
实例
把名为 welcome
的方法添加到 Student 类:
class Student(Person): def __init__(self, fname, lname, year): super().__init__(fname, lname) self.graduationyear = year def welcome(self): print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)
提示:如果您在子类中添加一个与父类中的函数同名的方法,则将覆盖父方法的继承。
- 上一页 Python 类/对象
- 下一页 ການກະຕຸ້ນວັດຖຸ Python