面向对象|学习笔记

简介: 快速学习 面向对象

开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理:面向对象】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/601/detail/8740


面向对象


目录:

一、什么是对象

二、面向对象 (oop)

三、面向过程的编程语言

四、面向对象的编程语言

 

一、什么是对象

1、 定义

对象,英文名 object 是内存中专门用来存储数据的一块区域。

对象中可以存放各种数据(比如:数字、布尔值、代码)

类似于一个盒子里,或容器里,存放了一些东西,我们要用某样东西就从盒子里拿出来,这些盒子里的东西可以称作对象。

2、对象由三部分组成:

(1).对象的标识(id)

(2).对象的类型( type )

(3).对象的值( value )

 

二、面向对象 (oop)

Python 是一门面向对象的编程语言。

所谓的面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的。

 

三、面向过程的编程语言

1、面向过程

面向过程指将我们的程序的逻辑分解为一个一个的步骤,通过对每个步骤的抽象,来完成程序。

例子: 孩子上学。(妈妈早上叫孩子起床上学的过程步骤)

-1.妈妈起床

-2.妈妈上厕所

-3.妈妈洗漱

-4.妈妈做早饭

-5.妈妈叫孩子起床

-6.孩子上厕所

-7.孩子要洗漱

-8.孩子吃饭

-9.孩子背着书包上学校

这个就是在面向“叫孩子起床上学的过程”的每一个步骤。步骤单一,可复用性低。

2、面向过程的编程思想

面向过程的编程思想是将一个功能分解为一个个小的步骤。

我们通过完成一个一个的小的步骤来完成一个程序。这种编程方式,符合我们人类的思维,编写起来相对比较简单。但是这种方式编写代码的往往只适用于一个功能 ,如果要在实现别的功能,即使功能相差极小,也往往要重新编写代码,所以它可复用性比较低,并且难于维护。

前边学过的函数能解决可复用性的问题。但是其他问题如:孩子放学、孩子上培训班等就需重新编写一个程序来实现。这样就比较繁杂。那么,我们面向对象的编程就能很好解决这样的问题。

 

四、面向对象的编程语言

面向对象的编程语言,关注的是对象,而不关注过程。对于面向对象的语言来说,一切都是对象。

例子:  孩子妈妈起床叫孩子上学。

面向对象的编程思想,将所有的功能统一保存到对应的对象中。比如,妈妈功能保存到妈妈的对象中,孩子的功能保存到孩子对象中要使用某个功能,直接找到对应的对象即可,这种方式编写的代码,比较容易阅读,并且比较易于维护,容易复用。

上边例子中:妈妈,孩子,起床,洗漱,吃饭等等的一系列名词、动词都可以作为对象,可分妈妈的功能,孩子的功能等存到对应的对象里边,通过调用对象功能,达到过程步骤完成。

这种方式面向对象的编写方式,不太符合常规的思维,编写起来稍微麻烦一点。

简单归纳一下,面向对象的思想:

(1).找对象

(2).搞对象(实现功能,计算)

相关文章
|
Kubernetes Cloud Native API
【云原生】kubernetes v1.18部署Metrics-Server:v0.3.6
【云原生】kubernetes v1.18部署Metrics-Server:v0.3.6
480 1
|
缓存 测试技术
podam mock 对象部分字段没有赋值问题
本文主要分析使用 podam mock 对象时,部分字段无法自动赋值的原因,并给出解决方案。
|
Kubernetes 容器
error: no configuration has been provided, try setting KUBERNET
error: no configuration has been provided, try setting KUBERNET
161 0
|
12月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
|
11月前
|
网络协议 安全 应用服务中间件
阿里云宝塔面板打不开是什么情况
阿里云宝塔面板打不开是什么情况
|
存储 物联网
stm32驱动RFID高频读卡器读取IC卡
stm32驱动RFID高频读卡器读取IC卡
377 0
|
SQL 存储 分布式计算
Kylin使用心得:从入门到进阶的探索之旅
【5月更文挑战第2天】Apache Kylin是开源大数据分析平台,提供亚秒级OLAP查询。本文深入解析Kylin的工作原理,包括预计算模型Cube、构建过程和查询引擎。常见问题涉及Cube设计、查询性能和资源管理,解决方案涵盖合理设计、性能监控和测试验证。文中还分享了Cube创建的JSON示例,并探讨了Cube构建优化、查询优化、与其他组件集成、监控维护及生产环境问题解决。通过学习和实践,读者能有效提升数据洞察力和决策效率。
688 5
|
存储 JSON 关系型数据库
mysql中find_in_set()函数用法详解及增强函数
总结而言,`FIND_IN_SET()`是MySQL中处理由逗号分隔的字符串列表的一种便捷方法,尤其适用于列表相对较短且不经常更改的场景。然而,对于更为复杂的需要高性能和可扩展性的数据库设计,它可能不是最优选择,应考虑使用更加正规化的数据库结构。
1716 2
mysql中find_in_set()函数用法详解及增强函数
|
SQL 关系型数据库 MySQL
mysql密码错误-ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)
这篇文章提供了解决MySQL数据库"Access denied for user 'root'@'localhost' (using password: YES)"错误的方法,通过跳过密码验证、修改root密码,然后重启服务来解决登录问题。
mysql密码错误-ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)
|
存储 安全 算法
加密技术与网络安全:抵御漏洞的利剑
在当今数字化时代,网络安全问题日益突出,网络安全漏洞频频暴露,给个人、组织 ja 和国家带来了巨大的威胁。本文将探讨网络安全漏洞的本质、加密技术的重要性以及提高安全意识的必要性。通过深入分析加密技术在网络安全中的作用,探讨如何利用加密技术有效抵御各种网络安全威胁。
138 28