程序猿大战Python——面向对象——什么是面向对象?

常见的编程思想

==目标:==了解常见的编程思想有哪些?

先来看看什么是思想?比如,乌鸦喝水、猴子吃椰子等。

说明:

我们会发现,有了思想,就能解决很多问题。

类似的,编程思想就是:利用计算机来解决实际编程问题的一种思维方式。

而编程思想是通用的,与计算机语言本身没有太大关系。

常见的编程思想有:

(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)要了解多态,得先掌握封装和继承,咱们仅需要了解有多态特性即可。

  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

困了就倒头睡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值