常见的编程思想
==目标:==了解常见的编程思想有哪些?
先来看看什么是思想?比如,乌鸦喝水、猴子吃椰子等。
说明:
我们会发现,有了思想,就能解决很多问题。
类似的,编程思想就是:利用计算机来解决实际编程问题的一种思维方式。
而编程思想是通用的,与计算机语言本身没有太大关系。
常见的编程思想有:
(1)面向过程
(2)面向对象
Python是同时支持面向过程和面向对象的编程语言!
==总结:==
(1)常见的编程思想有:面向过程、();==A、面向对象==;B、面向组件;
(2)注意:当有了编程思想后,学习不同编程语言都是相通的。
面向过程是什么
==目标:==了解什么是面向过程?
【官方解释】面向过程是一种以过程为中心的编程思想。
通俗地说,在解决编程问题时,我们会把需要的操作步骤都列出来,然后按照操作步骤写代码,这种思维就是面向过程思想。
说明:
比如,要产生一个随机数,步骤:(1)导入random模块;(2)产生随机数;(3)输出结果。
在实际生活中,为了更好理解面向过程。
使用面向过程思维来了解:使用ATM机取钱的过程。
(1)带上银行卡,去ATM机所在的地方;
(2)排队等待;
(3)轮到自己了,把银行卡插入ATM机;
(4)输入密码,取钱;
(5)取钱成功,准备回家把钱上交媳妇儿把钱。
==总结:==
(1)在之前学习的Python知识,都是使用的面向过程思想;
(2)注意:面向过程思想强调的是(),按照步骤依次进行就能把事情完成。==A、步骤或过程==;B、对象。
什么是面向对象?
==目标:==掌握什么是面向对象?
【官方解释】面向对象是软件开发方法,一种编程范式。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。
# 学生:姓名、年龄; 玩、学习 # a.先定义 class Student: def __init__(self,name,age): self.name = name self.age = age def play(self): print(f"{self.age}岁的{self.name}还在玩泥巴...") def study(self): print("好好学习,天天向上!!") # b.后调用 stu = Student("张三",16) print(stu.name) print(stu.age) # 调用 stu.play() stu.study() # 总结: # 1. 封装后的代码执行后不能立马有效果 ==抽象 # # 2. 一切皆对象:类 ==> 对象 # # 3. 类:包含两部分: 变量、方法
通俗地说,面向对象思想就是:当解决问题的视角不再是详细的操作步骤,而是另一个视角:操作对象。比如,操作手机打电话、操作电脑来看电影、操作冰箱来存储新鲜水果等。
【对象】可以理解为冰箱、手机、电脑等一切事物。
说明:面向对象听起来很抽象、模糊、不理解,暂时没关系,记住五个字:一切皆对象。
面向对象思想优势:
(1)在现实生活中,所有事物都被看作是对象;
(2)面向对象的宗旨:模拟现实世界中的一切事物;
(3)贴近实际生活,给所有对象都赋予属性和方法,更加人性化。
例如,一起来完成:
(1)使用面向对象思维分析:吃烤鱼;
(2)涉及对象:店铺老板、外卖小哥。
==总结:==
(1)可以简单的理解操作对象的过程,就是将面向过程的操作步骤再次封装处理;
(2)面向过程的身份:执行者,面向对象的身份:();==A、指挥者==;B、执行者;
(3)特别注意:学习面向对象知识,总结归纳就是5个字:一切皆对象。[思考]
==【思考】==例如,一起来完成:
(1)举两个现实生活中的案例;
(2)以面向过程思想分析;
(3)以面向对象思想分析。
吃饭 面向过程: 买菜、洗菜、做饭菜、吃 面向对象: 点外卖 [厨师、外卖员]
打水 面向过程: 拿水杯、去清洗、装水、盖盖子、拿到教室 面向对象: 叫方哥给你打杯水.
==案例:==
玩游戏 面向过程: [我]开机、打游戏、打、xxx、关机; -我玩游戏 面向对象: 我叫人帮我玩游戏. [关注结果]
封装
==目标:==了解什么是封装?
面向对象思想虽然比较复杂,但有一些特性有迹可循。
面向对象的三大特性:
(1)封装
(2)继承
(3)多态
说明:今天主要围绕着【封装】来讲解。
在现实生活中,也有很多与封装的案例。
比如,小明是一个IT公司的程序员。
小明身边的人 | 了解小明的隐私内容项 |
---|---|
银行柜员 | 身份证号、联系方式、银行卡号等。 |
同事 | 姓名、职位、性别、年龄等。 |
爸妈 | 血型、身份证号、女朋友姓名、性别等。 |
类似的,在Python面向对象中也有封装。
简单地说,封装就是把对象的属性和方法放在一个整体中,并限制对属性和方法的访问操作。而这里说的整体,就是【类】。
class 类名: def 方法名(): 属性1 = 值1 属性2 = 值2 ... def 方法名2(): 执行代码1 执行代码2 ...
例如,在下图日常生活中常见的画面,哪些可以封装成一个类?
说明:一切皆对象。
电脑 手机 数据线 ...
==总结:==
(1)面向对象里的封装,就是把属性和方法都存放到一个Python类中;
(2)注意:面向对象的三大特性有()。A、封装、继承、维护;==B、封装、继承、多态==。
继承
==目标:==了解什么是继承?
在现实生活中,继承一般指的是子女继承父辈的财产,比如:子承父业等。
类似的,面向对象继承也有继承父类的意思。
通俗地说,当子类继承了父类后,子类就具有父类的属性和方法。比如,下图的关系。
说明:继承都满足:is-a关系。
==总结:==
(1)当子类继承了父类后,子类就拥有了父类的属性和方法,继承需要满足()关系;==A、is-a==;B、父子;
(2)注意:继承可以让程序更加简洁。
多态
==目标:==了解什么是多态?
多态指的是:不同类的对象对同一消息做出不同的响应。这里的发送消息,通常是指调用方法。
通过生活案例来说明什么是多态,比如:电脑键盘上的F12功能键是固定不变的,但完成功能不同。
固定不变的F12功能键 | 完成功能 |
---|---|
F12 | 在WPS办公软件使用时,提示用户保存文件。 |
F12 | 在Notepad++编辑软件使用时,会把工作区间进行全屏显示。 |
F12 | 在Chrome浏览器使用时,能进入到开发者模式。 |
==总结:==
(1)要了解多态,得先掌握封装和继承,咱们仅需要了解有多态特性即可。