admin管理员组

文章数量:1558087

文章目录

  • 封装
  • 继承
    • 多继承
  • 多态

封装

封装指对通过隐藏多余的信息防止内部属性被外部访问。
要达成封装的效果,可以把属性名前面加上两个下划线,这样就变成了一个私有属性,不能通过外部访问。

class Dog:
    def __init__(self, sex, age):
        self.__sex = sex
        self.__age = age
        
    def greeting(self):
        print("I'm a %s dog, I'm %s years old"% (self.__sex, self.__age))

这样__sex属性和__age属性就不可以通过外部调用了。

继承

面向对象的一大重要特征是继承。在python中,继承指的是继承的类直接拥有被继承类的属性。这样做可以避免大量地重写代码。被继承的类叫父类或基类,继承的类叫子类或派生类。如果定义类的时候不指定父类的话,默认继承python中的object类。
就比如我们要建立一个学生档案库,所有学生都要录入自己的姓名、班级和期中成绩。女性学生还需要录入头发的长度,而男性学生则需要录入是否抽烟。这样就可以建立一个父类“Student”,然后建立子类“Female”和“male”。
下面的例子演示了最简单的类的继承:

class Animal:
	def greeting(self)
		print("Hello, I'm an animal.")

class Dog(Animal):
	def __init__(self, name):
		self.name = name
	def type(self):
		print("I'm a dog.")
	

在这个例子中,Dog类继承了Animal类中的greeting方法,同时还拥有自己的type方法。这些方法都可以通过实例使用。

多继承

python中支持多继承,即一个子类可以有多个父类。在实际操作中,只需把多个需要继承的父类用逗号隔开就好了。
下面的例子演示了类的多继承。

class Animaldef greeting(self):
		print("Hello, I'm an animal~")

class Domestic:
	def introduction(self):
		print("I'm domestic, and I'm owned by a human!")

class Pet(Animal, Domestic):
	def play(self):
		print("Please play with me!")

在上面的例子中,Pet类继承了Animal类和Domestic类的所有方法。

多态

在父类和子类都具有某个方法的情况下,子类的方法会覆盖父类的方法。在调用时也不会调用父类的方法,而是调用子类的方法。这就是多态。

本文标签: 面向对象Python