01什么是面向对象,面向对象的基本操作

1.0---面向对象的概念
.
类: 具有相同属性和技能的一类事物; (人类就可以作包含了多个对象(人)的)
对象: 具体类的表现,具体到个体,实实在在的一个实例; (高小波是一个人,就是人类中实实在在的个体)

为什么要学习类,对象: 可以将代码形成一个个代码块,这些代码块可以进行相互间的操作(类间的继承,对象对类的操作),有利于代码的规范和引用
.
2.0---类的格式
.
类体: 包括俩部分 变量部分(静态变量) ,方法(函数)部分(普通函数,构造方法)

class Person:           #  Person 类名
    name='有名字'             #  静态变量,(也叫静态字段)
    animal='高级动物'
    faith='有信仰'

    def work(self):            #  方法(函数)
        print('有没有工作')
    def house(self):
        print(self)
        print('有没有房子')

.
3.0---面向对象的操作
.
对类的操作可以从俩个角度来讲:通过类名对类进行操作,通过对象对类进行操作
从类名的角度:
.
a.-- dict
Person.dict 操作 查询类中的所有内容;不能进行增删改操作
b.--万能的 . (可实现增删改查)

print(Person.name)   # 查
Person.age=25    # 增     在类的函数中也可以操作
Person.name='高波'    # 改
del Person.animal        # 删

操作类中的方法(在工作中基本不用)
Person.work(11)

.
从对象的角度

class Person:
    name='有名字' #  静态变量,或者是静态字段
    animal='高级动物'
    faith='有信仰'
    def __init__(self,name,age,sex,hobby):     #  构造方法(每个类都要有构造方法)
        self.name=name
        self.age=age
        self.sex=sex
        self.hobby=hobby      # 给对象封装相应的属性(变量,可控);
    def work(self):
        print('有没有工作')
    def house(self):
        print(self)
        print('有没有房子')

ret=Person('高波',25,'boy','不知道')
默认将Person的空间地址传给self,其他得参数会依次传入
#1, 类名+()产生一个实例(对象,对象空间.)
#2, 自动执行类中的init方法,将对象空间传给init的self参数,
#3, 给对象封装相应的属性(变量). 可控的

自动执行类中的init方法,将对象空间传给init的self参数,
Person() # 类名+() 的这个过程:实例化的过程(创建一个对象的过程)
Person() 实例化对象,实例,对象

a.--操作对象中的静态变量
1.0 dict 查询对象中的所有内容
2.0 万能的 .

print(ret.name)
ret.hith=1.68
del ret.hobby
ret.name='高小波'
 print(ret.__dict__)

b.--对象操作类中的静态变量

print(ret.name) # 如果对象中有就会先查询对象中的,没有的得话,向上一步查询类中的
print(ret.faith)
c.--对象操作类中的方法 (工作中,通过对象)
ret.work()
ret.house()

猜你喜欢

转载自blog.51cto.com/13747953/2301516