day18--初识面向对象

1,初识面向对象
类:具有相同的属性和技能的一类事物
对象:类的具体体现
研究面向对象,要站在上帝的角度
class 关键字 ,类名   类名首字母大写
 
2,面向对象的解构
class Dog:
    level = "动物"
    mind = "傻子"       #第一部分,静态变量,静态字段
    language = "汪汪汪"

    def __init__(self,name,age,hobby):
        self.name = name
        self.age = age       #第二部分,动态方法,函数
        self.hobby = hobby

3,类名调用变量,方法

(1),类名查看类中所有的变量(字段),方法(函数)

类名.__dict__ 查看类中所有的变量及方法

(2),类名对静态变量(静态字段),进行操作

__dict__不能进行增删改,只能查询,最好不要用__dict__这个字典进行操作

可以通过(类名.变量)的方法进行查询,也可以增删改

class Dog:
    level = "动物"
    language = "汪汪汪"18:00:59    type = ""

    def __init__(self,name,age,sex):
        self.name1 = name
        self.age1 = age
        self.sex1 = sex


    def eat(self):
        print("chichichi")

wangcai = Dog("旺财",2,"")
print(wangcai.__dict__)  #查看类中所有的变量及方法
print(Dog.level)    #使用类名.变量的方法进行查询
Dog.language = "喵喵喵"  #更改
print(Dog.__dict__)
del Dog.type      #删除
print(Dog.__dict__)
Dog.eat(111)   #类名对动态方法的操作

4,实例化对象

类名+()   这个过程就叫做实例化一个对象

1,产生一个空的对象空间

2,只要进行实例化对象,会自动执行类里面的__init__方法,并将空的对象空间传给self,剩下的值传给相应的形参

3,执行init方法,给对象添加属性,并将完善好的对象返回给 类名+()

5,实例化对象的内部过程

6,对象调用变量,方法

  (1),查找对象中的所有属性: __dict__

  (2)对象操作对象中的属性

    对象.属性  可增删改查

  (3)对象操作类中的静态变量(静态字段),只能查,不能增删改

    可以查类中的静态字段

    增: 是在对象中设置新的属性,而不是改变类中的属性

  (4) 对象执行类中的方法

class Dog:
    level = "动物"
    language = "汪汪汪"
    type = ""

    def __init__(self,name,age,sex):
        self.name1 = name
        self.age1 = age
        self.sex1 = sex


    def eat(self):
        print("chichichi")

#xiaohua = Dog()  #这个过程叫做实例化一个对象
wangcai = Dog("旺财",2,"")  #查找对象中所有属性
print(wangcai.__dict__)
print(wangcai.name1)  #查询
wangcai.job = "student"  # 增加
print(wangcai.__dict__)
del wangcai.name1     #删除
print(wangcai.__dict__)
wangcai.age1 = "12"   #修改
print(wangcai.__dict__)
print(wangcai.level)  #对象操作类中的静态变量(静态字段),只能查,不能增删改
wangcai.level = "中等动物"  #在对象中设置了新的属性,但是没有改变类中的属性
print(wangcai.level)
print(Dog.__dict__)

疑难点:

1,self 是位置参数,默认接收的是对象空间,约定俗称叫self

2, 在类的非__init__方法中,也可以给对象添加一些属性,前提是必须执行这个方法

猜你喜欢

转载自www.cnblogs.com/lianghui-lianghui/p/9235741.html