初始面向对象

什么是对象:

  万物皆是对象,是类的具体体现

 

在Python中所有数据类型都是一个对象.

对象的特点:

    1.属性

    2.行为

    3.封装一个整体

面向过程与面向对象:

    面向过程:解决问题的过程的思路.

      1.分步骤划分

      2.把一个任务分步骤完成

    面向对象:解决问题关注的是解决问题的对象.

      1.按对象划分

      2.确定对象的属性和行为

 

对象是过程的封装

什么是类:

  类是具有相同属性或者功能的一类实物

类的定义:

class A:
    name = 'alex' # 静态属性,静态变量,静态字段
    def func1(self): # 函数:动态属性,方法
        pass

  类名的使用

1.查看类所有属性的方法__dict__

2.查看(增删改)类中的某个,某些属性,某个方法,用万能的 .

3.操作方法,通过类名调用函数操作

class Person:
    animal = '高级动物'
    walk_way ='直立行走'
    language = '语言'
    def __init__(self,name,age,eye):#功能:给对象封装属性
        self.name = name
        self.age = age
        self.eye = eye
	def set(self):
		pass
	def work(self):
		pass
print (Person.__dict__)
print(Person.__dict__['animal'])#通过__dict__单独的属性及方法可以查但是不能增删改
#工作中,学习中一般用到__dict__查看类中的所有属性及方法,不进行其他操作.
#2.查看(增删改)类中的某个,某些属性,某个方法,用万能的 '.'
print(Person.animal)
Person.name = 'alex'#增加属性
Person.animal = '低级动物'#改属性
del Person.walk_way #删
#3.操作方法 一般不通过类名操作
Person.work(666)

 对象:

实例化内部进行了三个阶段:

1.在内存中开辟一个对象空间

2.自动执行类中的__init__方法,并且将对象空间传给self参数,其他参数手动传入

3.执行__init__方法,给对象空间封装相应的属性.

class Person:
	animal = '高级动物'
	walk_way ='直立行走'
    language = '语言'
    def __init__(self,name,age,eye):#功能:给对象封装属性
        self.name = name
        self.age = age
        self.eye = eye
	def set(self):
		pass
	def work(self):
		pass
obj = Person()#这个过程是一个实例化过程,他会实例化一个对象(他会在内存实例化一个对象空间)
#对象操作对象空间
 #对象查看对象空间所有的属性 __dict__
print('obj.__dict__')
    #对象操作对象的某个属性,增删改查 万能的 .
    obj.sex = '男'#增
    del obj.eve1#删
    obj.eve1 = '发的'#改
#对象操作类空间的属性
prin(obj.animal)
obj.animal = '低级动物'#在对象里边增加一个animal
#对象操作类空间的方法
obj.eat()

  类名称空间,对象名称空间

#公用的模板,公共框架
class GameRole:
	rule = '游戏规则'
	def __init__(self,area,nickname,hp,ad,):
        self.area = area
        self.nickname = nickname
        self.hp = hp
        self.ad = ad
     def attack(self):
        print('dsfsd')
        
gailun = GameRole('德玛西亚','草丛伦',1000,75)#对象
#对象为什么能调用类中的属性与方法只是调用不是改变
obj.属性名 先从自己空间去找,没有此属性他会通过类对象指针从类去找,找不到,会从父类去找
对象只能查看类中的属性,不能增删改
#类能不能调用对象的属性
不能
#对象与对象之间能不能互相调用
同一个类实例化出来的对象之间是不能互相访问的
不同类实例化的对象有可能互相访问

#给对象封装属性:__init__ 任意位置

	
   

  

转载于:https://www.cnblogs.com/buchiyudeyang/p/9525917.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值