5.关于类和对象

一.类与对象:
1.定义一个类:
  class classname:
   ...
  类 定不定义它都存在,它是抽象的。
  定义完一个类,就产生一个类对象。

  世界上有鱼的概念,鱼就是类,那么有这个“鱼”吗?我说的是"鱼"这个本身,所以"鱼"这个实物不存在,但是它是存在的,抽象的存在,(就算世界上的鱼全灭绝了,这个"鱼"也是存在的,而草鱼,带鱼,鲫鱼...都不存在了。)那么草鱼,带鱼,鲫鱼...这些就是对象,实实在在存在的,它们都有鳍,都在水里生活,吃小虾米,这些都是共性,这是类的特性,也分别是它们的特性,但是技能就不一定一样了。


2.类对象的操作:
  1.通过类对象去调用类的属性和方法。
  2.实例出一个类对象的实例。
3.注意点:
  与某个对象绑定的函数称作方法,一般在类里面定义的函数是与类对象或者实例对象绑定的,
  所以成作为方法,而在类外定义的函数一般与对象绑定,只称为函数。
 
 例如:

class Dog:
	camp="four legs"
	def __init__(self,nickname)
		self.nick=nickname
	def attck(self,enemy)
		print("%s attck %s" %(self.nick,enemy))-->里面的self.nick就是交互输入的参数。

 *   Dog这个类定义完成后Dog就是一个类对象,可以访问这个类的属性和功能方法等,
  * 通过Dog.camp可以访问类Dog的属性(有四条腿),Dog.nick和Dog.attck分别可以查看它的名字(原始的类对象没有名字,当实例化后就可以自由添加)和技能。
3.类的实例化以及实例对象:
   g=Dog(),这样就产生一个实例对象,这个过程叫做类的实例化操作。
   这个实例对象也可以查看类的属性和它的方法,因为实例对象和Dog这个类对象是绑定关系。
4.在类中定义方法:
  定义方法以def关键字,这个函数必须至少有一个参数,这个默认参数为self,这个类会自动将这个参数添加进去。

实例操作:
  

class garen:
    camp="demacia"
    def __init__(self,nickname):
        self.nick=nickname          #self=g1---> g1.nick=nickname
    def attck(self,enemy):
        print("%s attck %s"%(self.nick,enemy))  
"""
g1=garen("我是参数")
-------->garen.__init__(g1,"我是参数")
 g1就是函数中自己生成的self,就是对象本身自己,自动添加的参数。
"""
g1=garen("盖伦")
g2=garen("大宝剑")
# print(garen.camp)#查看类属性
# garen.camp=123  #更改类属性。
# print(garen.camp)
# del garen.camp#删除类属性。
# print(garen.camp)
# garen.k=1#给类增加属性
# print(garen.k)

# print(garen.camp)
# print(garen.nick)
# print(garen.attck)
# garen.attck(34)

# print(g1.camp)
# print(g1.nick)
# print(g1.attck)
g1.attck("egon")
# print(g1.nick)
# del g1.nick
g1.nick="亚瑟"
print(g1.nick)
# g1.sex="gay"
# print(g1.sex)

#g2的增删该查同g1
# print(g2.camp)
# print(g2.nick)
# print(g2.attck)

 

  


总结:
类:一:实例化,二:引用名字(类名.变量名,类名.函数名)
实例:引用名字(实例名.类的变量,实例名.绑定方法,实例名.实例自己的变量名)

posted @ 2017-04-14 20:13  im777  阅读(337)  评论(0编辑  收藏  举报