Python 面向对象(一)

应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方

面向对象中都是类,通过程序中的类来实现对象

Python3已经把类型和类整合起来了 ,int 等都是类。

现实生活中,是现有对象后有类。在程序中是先有类后有对象。

使用类需要实例化和引用类的变量类的函数

class Garen:
    camp='Demacia'    # 这是类的共同特征
    def attack(self):  # 定义的类的方法,需要参数
        print('attack')
obj = Garen()
# print(obj)
# print(Garen.camp)  # 打印类的特征
Garen.attack('asdf')    # 在调用内部的函数的时候需要给attack函数传参数

self是对象自己本身

class Garen:
    camp = 'Demacia'
    def __init__(self,nickname):  # 初始化的函数 self 就是实例化的g1  g2
        self.nick=nickname
    def attack(self,enemy):
        print("%s attack %s"%(self.nick,enemy))
# 实例化会触发类的init的调用,把g1传递给self,g1就是对象
g1 = Garen('aaaaaa')  # g1 = Garen.__init__(g1,'aaaaaa')
g2 = Garen('bbbbbb')
print(g1.nick)
print(g2.camp)
print(g1.attack('abc'))   #这是绑定方法 g1自动把参数传递给self
print(Garen.attack(g1,'aaabbb'))  # 调用的函数,按位置传参数

print(g2.nick)
print(g2.camp)

类的增删改查:

print(Garen.camp)  # 查看
Garen.camp='aa'
print(Garen.camp)  # 改
del Garen.camp
print(Garen.camp)  # 删除
Garen.x = '1123134'
print(Garen.x)   #增

类的对象的增删改查:

g1 = Garen('abc')  # 首先实例化,并传入初始化的参数
print(g1.nick)  # 查看
g1.nick = 'bbb'# 改
print(g1.nick)
del g1.nick  # 删除
print(g1.nick)


g1.x = '123'
print(g1.x)  # 增加
posted @ 2017-04-17 22:03  hzxPeter  阅读(187)  评论(0编辑  收藏  举报