面向对象

什么是面向对象

面向对象顾名思义就是把现实中的事务都抽象成为程序设计中的“对象”,其基本思想是一切皆对象,是一种“自下而上”的设计语言,先设计组件,再完成拼装。

其中有俩种思想:面向对象,面向过程

面向对象:不用自己去写过程 只在乎结果 如:直接使用方法来实现

面向过程:自己得去写过程亲力亲为 如:自己去书写方法来实现

类(class)由3个部分组成

  1. 类的名称:类名
  2. 类的属性:类内部的一组数据变量
  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 = "红色"

注意

  1. object是Python中所有的类的最顶级父类
  2. 类的命名规则严格按照大驼峰命名法进行
  3. self代表实例化对象
  4. 类对象支持两种操作:属性引用和实例化。

对象

创建对象的过程称为实例化,当一个对象被创建后,包含3个方面的特性:对象的句柄、属性和方法

创建类的格式

对象名 = 类名()

注意

  1. 如果在同一时刻的三个不同变量,赋予了相同的数据,那么这三个变量的引用是同一个引用,都指向了第一个数据存储的引用
  2. 同一时刻的三个不同变量,赋予了同一个类的三个实例对象,那么这一个类的三个实例对象引用肯定不相同
    一个类实例出来的所有对象肯定不是同一个对象

类与对象结合案例

#__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()