首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python面向对象三大特征

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

封装

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

私有化方法:

方法的私有化可以保护好一些核心的代码,可以添加条件,是别人不能不满足条件的更改,进行代码的保护,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)

隐藏属性:

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

class Dog:

def set_age(self,new_age):

if new_age>0 and new_age

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__方法:

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

子类也可以称为 派生类,父类也可以称为 基类,所有类都继承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中,多态指的是父类的引用指向子类的对象

理解表述:比如: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)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191227A0CNXJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券