什么是python面向对象
提到面向对象,总是离不开几个重要的术语:多态(Polymorphism),继承(Inheritance)和封装(Encapsulation)。Python也是一种支持OOP的动态语言,本文将简单阐述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()
来源:PY学习网:原文地址:https://www.py.cn/article.html