1 面向过程与面向对象编程的比较

(1)面向过程(顺序)

打酱油机器人100元 买酱油功能1:收钱功能2:过马路,看红绿灯功能3:交钱拿零钱功能4:零钱和酱油交付典型的面向过程的程序

(2)面向对象

100元 酱油零钱 酱油

2 类和对象的理解

OOP:object oriented programming,面向对象编程。

:比如飞机,是一个大类,而设计一个飞机,需要画一张图纸,图纸包含 几个螺旋桨、几个机翼、几个轮子、飞机多长。

对象:真实的具体某个飞机。

如:

游戏 类电子游戏 类角色扮演游戏 类英雄联盟 对象

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

3.1 实例

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

运行结果:

这样,一个简单的类和对象的模式就被我们创建好了。当我们创建类的时候,就已经生成了一块内存空间,里面存放类的属性和方法。创建对象,就相当于指向这块内存空间。

3.2 self

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

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

#类的命名规则 建议使用驼峰式命名法PrintStar 小驼峰式Printstar
#类名 属性 方法
class Make_Plane(object):#属性(变量)color = "green"wheelNum = 3#方法(函数)def move(self):print("起飞了")def getPlaneInfo(self):print("轮胎数%d,飞机颜色%s" %(self.wheelNum,self.color)) #%d对应%(self.wheelNum,self.color)中的第一个#%s对应%(self.wheelNum,self.color)中的第二个#创建对象了
myplane = Make_Plane()
#myplane.move()
#print(myplane.color)
myplane.color = "blue"
myplane.getPlaneInfo()youplane = Make_Plane()
youplane.color = "red"
youplane.getPlaneInfo()

运行结果:

3.3 init

类有一个名为 init() 的魔法方法(初始化方法,一般用于变量的初始化赋值),该方法在类实例化时会自动调用。 init() 方法可以有参数,参数通过 init() 传递到类的实例化操作上

#类的命名规则 建议使用驼峰式命名法PrintStar 小驼峰式Printstar
#类名 属性 方法
class Make_Plane(object):#魔法方法:def __init__(self,COLOR,WHELLNUM):#属性(变量)self.color = COLORself.wheelNum = WHELLNUM#方法(函数)def move(self):print("起飞了")def getPlaneInfo(self):print("轮胎数%d,飞机颜色%s" %(self.wheelNum,self.color))#创建对象了
myplane = Make_Plane("blue",4)
myplane.getPlaneInfo()youplane = Make_Plane("red",10)
youplane.getPlaneInfo()

运行结果:

【python基础-04】python 面向对象编程—飞机实例化例子相关推荐

  1. Python基础之 7. 面向对象编程基础

    1. 概述 如今主流的软件开发思想有两种:一个是面向过程,另一个是面向对象.面向过程出现得较早,典型代表为C语言,开发中小型项目的效率很高,但是很难适用于如今主流的大中型项目开发场景.面向对象则出现得 ...

  2. python基础四_01_面向对象

    python基础四_01_面向对象编程 导读: 本文主要从what?why?how?三个方向理解面向对象编程的思想:仅供自己梳理. 一.什么是面向对象编程? 面向对象编程与面向过程编程是两种常见的编程 ...

  3. Python基础day09【面向对象(封装、继承、多态)、重写、私有权限】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day09[面向对象(封装.继承.多态).重写.私有权限] Python基础day ...

  4. 八、Python基础(综合演练:飞机大战)

    八.Python基础(综合演练:飞机大战) 目录: 八.Python基础(综合演练:飞机大战) 一.模块 1.利用 pip 安装 pygame 模块 2.图片素材下载 二.pygame 模块初识 1. ...

  5. python基础04

    python基础04 python2在编译安装时,可以通过参数 -----enable----unicode=ucs2 或 -----enable--unicode=ucs4 分别用于指定使用2个字节 ...

  6. 【马士兵】Python基础--04(分支结构)

    Python基础–04 文章目录 Python基础--04 顺序结构 单分支结构 双分支结构 多分支结构 嵌套if的使用 条件表达式 pass语句 顺序结构 什么是顺序结构呢?比如说 '''把大象装冰 ...

  7. python基础类型,Python基础-类

    Python基础-类 @(Python)[python, python基础] 写在前面 如非特别说明,下文均基于Python3 摘要 本文重点讲述如何创建和使用Python类,绑定方法与非绑定方法的区 ...

  8. python基础语法--python语言及其应用

    python基础语法 python引言 python python语言是一种高级动态.完全面向对象的语言. python中函数.模块.数字.字符串都是对象. python完全支持继承.重载.派生.多继 ...

  9. eclipse python_【Python基础】Python基础语法

    编程与Python 1.什么是编程 人为安排计算机解决某个问题的方法和步骤. 2.编程的语言 机器语言:二进制代码表示的计算机能够直接识别和执行的一种机器指令的集合ADD代表运算符号"+&q ...

最新文章

  1. 为什么程序员总是发现不了自己的Bug?
  2. 新书上市|当我们讨论“量子计算”时我们在讨论什么?
  3. 为“证明实力”,某医院前网管离职后远程入侵服务器,致诊疗系统瘫痪
  4. An eventually consistent data model for Erlang (and Riak)
  5. 插件化、热补丁中绕不开的Proguard的坑
  6. 完成课件中的动手动脑的或需要验证的相关内容。
  7. 第二次作业—熟悉使用工具
  8. Confluence或JIRA验证码乱码的问题
  9. 图形算法 - 模糊函数比较,Blur Function Compare。
  10. android activity 主题,android activity 主题
  11. UNIX和类Unix操作系统
  12. 在 word 中加入 Mathtype 公式编辑器 解决办法
  13. https页面访问不到http的处理方法
  14. 暴力搜索---新技能get
  15. 再见了青春,联想Y450最后一次升级,真的神一般存在。
  16. Labview Socket通讯_通讯板卡
  17. Xv6学习之kinit1
  18. 微信小程序,一个有局限的类似 React Native 轮子!
  19. 关于SNR和EbN0转换关系
  20. html的一些在线制作工具,在线制作工具

热门文章

  1. ​在生命教育中,“死亡”不该是一种禁忌
  2. 龙之谷账号所在服务器,龙之谷手游 服务器数据互通公告!
  3. 元宵节,如何借势进行多次病毒性营销,有最新案例噢
  4. java中tomcat_Java中Tomcat各版本比较
  5. mybatis 操作oracle sql 执行的一些坑
  6. google翻译会说河南话
  7. 爬取诗词名句网的三国演义小说
  8. ftp服务器欢迎信息,vsFTPd常用功能之定制欢迎信息
  9. kali重启网卡,kali重启网卡命令
  10. netty 游戏服务器 项目,netty游戏服务器源码