首页 / PYTHON / Python面向对象基础
Python面向对象基础
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python面向对象基础,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2432字,纯文字阅读大概需要4分钟。
内容图文
![Python面向对象基础](/upload/InfoBanner/zyjiaocheng/844/da022f9a992a4e07935895b980ef539b.jpg)
一、OOP
oop就是代码的重用,通过分解代码,最小化代码的冗余以及对现存的代码进行定制来编写程序;OOP模型中有两种对象,类对象和实例对象。类对象提供默认行为,是生产实例对象的工厂;类对象和实例对象都有各自命名空间。
二、python类的主要特性
? class语句创建类对象并将其赋值给变量名
? class语句内的顶层赋值语句会创建类的属性
? 类属性提供对象的状态和行为
三、python实例对象的主要特性
? 每次类调用时,都会创建并返回新的实例对象
? 每个实例对象继承类的属性并获得了自己的命名空间
? 每个实例对象通过构造方法获得每个实例自己的属性
四、创建类和实例对象-类的封装
封装,是将对象的数据与操作数据的方法相结合,通过方法将对象的数据与实现细节保护起来,就称为封装。外界只能通过对象的方法访问对象,因此封装同时也实现了对象的数据隐藏
class Person():
#类的属性--静态属性
country="China"
#封装--初始化方法
def __init__(self,*args):
self.name=args[0]
self.age=args[1]
self.aggr=args[2]
self.sex=args[3]
#方法
def walk(self,n):
print("%szoule%sbu"%(self.name,n))
#调用类创建实例对象,自动执行构造方法__init__
jonny=Person('jonny',11,23,'man')
#实例对象调用类的方法
jonny.walk(10)
#实例对象调用类的属性
print(jonny.country)
五、类的继承
单继承
类可以通过继承进行定制;类的继承丰富了软件的层级,在层级较低的地方覆盖现有的属性,让其行为特定化。
在python中,实例对象从类中继承,而类继承于超类
? 超类写在类开头的括号中
? 类从其超类中继承属性
? 实例会继承所有可读取类的属性
? 每次实例对象的属性调用都会进行类树搜索
? 逻辑的修改是通过创建子类,而不是修改超类
#创建父类---经典类
class a():
a1="11"
#创建子类,继承父类a
class b(a):
b1="22"
#调用父类的属性
print(b.a1)
以上的例子中父类是经典类,因为父类未继承object类;继承object类的父类是新式类
#创建父类---新式类
class a(object):
a1="11"
#创建子类,继承父类a
class b(a):
b1="22"
#调用父类的属性
print(b.a1)
在继承中,父类是经典类那么子类就是经典类;父类是新式类,子类就是新式类
多继承
python支持继承多个类,那么在继承父类的属性和方法时改怎么找呢?
class D(object):
def display(self):
print('D.display')
class C(D):
def display(self):
print('C.display')
class B(D):
def display(self):
print('B.display')
class A(B,C):
def display(self):
print('A.display')
a=A()
a.display()
执行display方法时,查找顺序为 A--B--C--D
六、类的多态
类的多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。
class Person():
def display(self):
pass
class Man(Person):
def display(self):
print("man")
class Woman(Person):
def display(self):
print("woman")
def func(obj):
obj.display()
#实例化对象
man1=Man()
woman1=Woman()
#多态
func(man1)
func(woman1)
内容总结
以上是互联网集市为您收集整理的Python面向对象基础全部内容,希望文章能够帮你解决Python面向对象基础所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。