python面向对象思想

 

面向过程(顺序)

 

打酱油机器人

100元 买酱油

功能1:收钱

功能2:过马路,看红绿灯

功能3:交钱拿零钱

功能4:零钱和酱油交付

典型的面向过程的程序

面向对象

100元 酱油

零钱 酱油

类和对象的理解

OOP object oriented programming

类 设计一个飞机图纸 几个螺旋桨 几个机翼 几个轮子 飞机多长

对象 真实的飞机 用来飞行

如:

游戏 类

电子游戏 类

角色扮演游戏 类

英雄联盟 对象

飞机实例化的程序 面向对象的形式

  1. #类的命名规则 建议使用驼峰式命名法PrintStar 小驼峰式Printstar
  2. #类名 属性 方法
  3. class Make_Plane(object):   #object 默认是主类
  4.     #属性(变量)
  5.     color = "green"
  6.     wheelNum = 3
  7.  
  8.     #方法(函数)
  9.     def move(self):   #self的作用是什么,别急我们后面会讲到(相当于c++中的this指针的作用)
  10.         print("起飞了")
  11.         
  12. #创建对象了
  13. myplane = Make_Plane()
  14. myplane.move()
  15. print(myplane.color)

运行结果:

         

           

这样,一个简单的类和对象的模式就被我们创建好了

当我们创建类的时候,就已经生成了一块内存空间,里面存放类的属性和方法

创建对象,就相当于指向这块内存空间


self

在Python类中规定,函数的第一个参数是实例对象本身,并且约定俗成,把其名字写为self。其作用相当于java中的this,表示当前类的对象,可以调用当前类中的属性和方法。

类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称self,

  1. #类的命名规则 建议使用驼峰式命名法PrintStar 小驼峰式Printstar
  2. #类名 属性 方法
  3. class Make_Plane(object):
  4.     #属性(变量)
  5.     color = "green"
  6.     wheelNum = 3
  7.  
  8.     #方法(函数)
  9.     def move(self):
  10.         print("起飞了")
  11.     def getPlaneInfo(self):
  12.         print("轮胎数%d,飞机颜色%s" %(self.wheelNum,self.color))
  13.         
  14. #创建对象了
  15. myplane = Make_Plane()
  16. #myplane.move()
  17. #print(myplane.color)
  18. myplane.color = "blue"
  19. myplane.getPlaneInfo()
  20.  
  21. youplane = Make_Plane()
  22. youplane.color = "red"
  23. youplane.getPlaneInfo()

运行结果:

                

__init__

类有一个名为 __init__() 的特殊方法(构造方法),该方法在类实例化时会自动调用

 __init__() 方法可以有参数,参数通过 __init__() 传递到类的实例化操作上。

  1. #类的命名规则 建议使用驼峰式命名法PrintStar 小驼峰式Printstar
  2. #类名 属性 方法
  3. class Make_Plane(object):
  4.     #属性(变量)
  5.     color = "green"
  6.     wheelNum = 3
  7.  
  8.     #魔法方法:
  9.     def __init__(self,COLOR,WHELLNUM):
  10.         self.color = COLOR
  11.         self.wheelNum = WHELLNUM
  12.         
  13.     #方法(函数)
  14.     def move(self):
  15.         print("起飞了")
  16.     def getPlaneInfo(self):
  17.         print("轮胎数%d,飞机颜色%s" %(self.wheelNum,self.color))
  18.         
  19. #创建对象了
  20. myplane = Make_Plane("blue",4)
  21. myplane.getPlaneInfo()
  22.  
  23.    
  24. youplane = Make_Plane("red",10)
  25. youplane.getPlaneInfo()

运行结果:

               

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值