四、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

经验分享 程序员 微信小程序 职场和发展