面向对象
什么是面向对象
面向对象顾名思义就是把现实中的事务都抽象成为程序设计中的“对象”,其基本思想是一切皆对象,是一种“自下而上”的设计语言,先设计组件,再完成拼装。
其中有俩种思想:面向对象,面向过程
面向对象:不用自己去写过程 只在乎结果 如:直接使用方法来实现
面向过程:自己得去写过程亲力亲为 如:自己去书写方法来实现
类
类(class)由3个部分组成
- 类的名称:类名
- 类的属性:类内部的一组数据变量
- 类的方法:类内部的一些可以操作的函数(行为)
创建类的格式
class Person(object):
成员(方法)
内部类中的方法可以使用两种方法调用:
第一种:直接使用外部类调用内部类,生成内部类的实例,在调用内部类的方法
object_name = outclass_name.inclass_name()
object_name.method()
第二种:先对外部类进行实例化,然后再实例化内部类,最后调用内部类的方法
out_name = outclass_name()
in_name = out_name.inclass_name()
in_name.method()
案例:
class Fruit(object):
def oppen(self):
color = "红色"
注意:
- object是Python中所有的类的最顶级父类
- 类的命名规则严格按照大驼峰命名法进行
- self代表实例化对象
- 类对象支持两种操作:属性引用和实例化。
对象
创建对象的过程称为实例化,当一个对象被创建后,包含3个方面的特性:对象的句柄、属性和方法
创建类的格式
对象名 = 类名()
注意:
- 如果在同一时刻的三个不同变量,赋予了相同的数据,那么这三个变量的引用是同一个引用,都指向了第一个数据存储的引用
- 同一时刻的三个不同变量,赋予了同一个类的三个实例对象,那么这一个类的三个实例对象引用肯定不相同
一个类实例出来的所有对象肯定不是同一个对象
类与对象结合案例:
#__inte__是魔方方法,详细介绍请看下一篇博客
class beiz(object):
def __init__(self):
self.color = "灰色"
self.name = "太空被"
def da(self):
print("被子大")
class pen(object):
def __init__(self):
self.color = "粉色"
def xil(self):
print("能洗脸")
beizi = beiz()
print("被子的颜色%s;名字%s"%(beizi.color,beizi.name))
beizi.da()
peng = pen()
print("盆的颜色是%s"%peng.color)
peng.xil()