提到面向对象,总是离不开几个重要的术语:多态(Polymorphism),继承(Inheritance)和封装(Encapsulation)。Python也是一种支持OOP的动态语言,本文将简单阐述Python对面向对象的支持。
(推荐教程:python基础教程)
在讨论Python的OOP之前,先看几个OOP术语的定义:
类:对具有相同属性和方法的一组对象的描述或定义。
对象:对象是一个类的实例。
实例(instance):一个对象的实例化实现。
标识(identity):每个对象的实例都需要一个可以唯一标识这个实例的标记。
实例属性(instance attribute):一个对象就是一组属性的集合。
实例方法(instance method):所有存取或者更新对象某个实例一条或者多条属性的函数的集合。
类属性(classattribute):属于一个类中所有对象的属性,不会只在某个实例上发生变化
类方法(classmethod):那些无须特定的对性实例就能够工作的从属于类的函数。
封装
封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容。
对于面向对象的封装来说,其实就是使用构造方法将内容封装到 对象 中,然后通过对象直接或者self间接获取被封装的内容。
class Foo: def __init__(self, name, age ,gender): self.name = name self.age = age self.gender = gender def eat(self): print "%s,%s岁,%s,吃奶" %(self.name, self.age, self.gender) def he(self): print "%s,%s岁,%s,喝水" %(self.name, self.age, self.gender) def shui(self): print "%s,%s岁,%s,睡觉" %(self.name, self.age, self.gender) a = Foo('jack', 10, '男') a.eat() a.he() a.shui() b = Foo('rose', 11, '女') b.eat() b.he() b.shui()
相关教程推荐:python爬虫视频教程
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!