python面向对象三大特征

大概所有变成初学者初学者最头疼的第一道坎就是面向对象的理解

python面向对象三大特征_第1张图片

封装

从封装本身去理解 就是把小猫小狗用袋子装起来,然后把袋子的小口封上

私有化方法:

方法的私有化可以保护好一些核心的代码,可以添加条件,是别人不能不满足条件的更改,进行代码的保护,python私有化以__方法名进行私有化

class Dog:

def __set_age(self):

print(“信息发送成功”)

def get_dog(self,new_money):

if new_money>=1:

self.__set_age()

else:

print(“余额不足请充值”)

dog=Dog()

dog.get_dog(10)

隐藏属性:

python面向对象三大特征_第2张图片

不私有化的情况下对类的属性进行隐藏,添加条件判断,不满足条件则成为初始设定的值,也能完成核心代码的保护

class Dog:

def set_age(self,new_age):

if new_age>0 and new_age<=100:

self.age=new_age

else:

self.age=0

def get_dog(self):

return self.age

dog=Dog()

dog.set_age(10)

#age是类方法里面的get_dog的返回值

age=dog.get_dog()

print(age)

继承

子类继承父类,子类调用父类里面的方法,继承可以使代码复用率变高,减少代码啊的书写,提高编程的效率

__init__方法

在继承之间介绍一下__init__方法:

python面向对象三大特征_第3张图片

在生成对象时调用,可以用来进行一些初始化操作,不需要显示去调用,系统会默认去执行。构造方法支持重载,如果用户自己没有重新定义构造方法,系统就自动执行默认的构造方法。

子类也可以称为 派生类,父类也可以称为 基类,所有类都继承object类 object类也是顶级父类

class A(object):

def init(self):

self.age=10

a=A()

print(a.age)

单继承

子类B继承了父类A,同时也得到了父类中的方法,所以 子类B创建出来的对象b就能到用A中吃的方法

class A(object):

def eat(self):

print(“我要吃泡面”)

class B(A):

pass

b=B()

b.eat()

多重继承

子类B继承了父类A,子类C又继承了父类B,这样的多重继承,最后的子类对象会沿着父类继承的那条路去找所属父类的方法

class A(object):

def eat(self):

print(“我要吃泡面”)

class B(A):

pass

class C(B):

pass

c=C()

c.eat()

多态

一种事物的多种体现形式,举例:动物有很多种。在Python中,多态指的是父类的引用指向子类的对象

python面向对象三大特征_第4张图片

理解表述:比如:Dog 和哮天犬同时介绍自己 哮天犬 有自己的介绍 Dog有属于自己的介绍

class Amile():

def print_self(self):

pass

class Dog(Amile):

def print_self(self):

print(“我是大黄”)

class xiaotq(Amile):

def print_self(self):

print(“我是哮天犬”)

def jieshao(temp):

temp.print_self()

dog=Dog()

jieshao(dog)

dog2=xiaotq()

jieshao(dog2)

推荐我们的Python学习扣qun:784758214 ,看看前辈们是如何学习的!从基础的python脚本到web开发、爬虫、django、数据挖掘等【PDF,实战源码】,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每天都有大牛定时讲解Python技术,分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

你可能感兴趣的:(Python教程)