四、Python三大特性:封装、继承、多态
1.Python三大特性:封装、继承、多态
1.1 封装
是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现内部的操作和访问;本质上来将我们只需要调用封装提供的接口,无须关系类内部实现;
1.2 继承
继承的主要目的是实现代码的复用,既子类可以继承来一个或多个父类的方法或属性
1.3 多态
多态是指向同一个方法的调用由于对象不同可能产生不同的行为
多态存在的两个必要条件:继承和方法重写
#封装
class Animal:
def __init__(self):
self.__name = tom # 私有属性
self.age = 3
def __get_name(self): # 私有方法
print(name is {:}.format(self.__name))
def get_age(self): # 普通方法可以调用私有属性和方法
print({:} age is {:} year.format(self.__name, self.age))
# 实例化
cat = Animal()
# 调用私有属性
cat.get_age()
# 调用私有方法
cat._Animal__get_name()
# 继承
class Person:
def __init__(self, name):
self.name = name
def say_name(self):
print("name is {:}".format(self.name))
class Student(Person):
def __init__(self, name, age):
Person.__init__(self,name)
self.age = age
s1 = Student(zhangsan,24)
s1.say_name()
# 多态
import abc
class Animals(metaclass=abc.ABCMeta):
@abc.abstractmethod
def talk(self):
pass
class Peopel(Animals):
def talk(self):
print("say hello")
class Dog(Animals):
def talk(self):
print("wangwang")
class Pig(Animals):
def talk(self):
print(hengheng)
dog = Dog()
dog.talk()
参考资料:
https://www.cnblogs.com/peng104/p/9550305.html
https://www.jianshu.com/p/b04c6b0759a9
