语言分类

1、面向机器

抽象成机器指令,机器容易理解

代表:汇编语言

2、面向过程

做一个事情,排出步骤,第一步干什么,第二步干什么,如果出现情况A怎么处理,如果出现情况B做什么处理。

问题规模小,可以步骤化,按部就班

代表:C语言

3、面向对象OOP

随着计算机需要解决的问题的规模扩大,情况越来越复杂。需要很多人,很多部门协作,面向过程不太合适了。

代表:C++,Java,Python等

面向对象

什么是面向对象呢?

面向对象是一种认识世界、分析世界的方法论。将万事万物抽象成各种对象。

类class

类是抽象的概念,是万事万物的抽象,是一类事物的共同特征的集合。

用计算机语言来描述类,是属性和方法的集合。

对象instance、object

对象是类的具象,是一个实体。

对于我们每个人这个个体,都是抽象概念人类的不同实体。

举例:

你吃鱼

你,就是对象;鱼,也是对象;吃就是动作

你是具体的人,是具体的对象。你属于人类,人类是个抽象的概念,是无数具体的人的个体的抽象。

鱼,也是具体的对象,就是你吃的这一条具体的鱼。这条鱼属于鱼类,鱼类是无数的鱼抽象出来的概念。

吃,是动作,也是操作,也是方法,这个吃是你的动作,也就是人类具有的方法。如果反过来,鱼吃人,吃就是鱼类的动作了。

吃,这个动作,很多动物都具有的动作,人类和鱼类都属于动物类,而动物类是抽象的概念,是动物都有吃的动作,但是吃法不同而已。

属性:它是对象状态的抽象,用数据结构来描述。

操作:它是对象行为的抽象,用操作名和实现该操作的方法来描述。

每个人都是人类的一个单独的实例,都有自己的名字、身高、体重等信息,这些信息是个人的属性,但是这些信息不能保存在人类中,因为它是抽象的概念不能保存具体的价值。

而人类的实例,是具体的人,他可以存储这些具体的属性,而且可以不同人有不同的属性。

哲学

一切皆对象

对象是数据和操作的封装

对象是独立的,但是对象之间可以相互作用

目前OOP是最接近人类认知的编程方式。

面向对象3要素

1、封装

①、组装:将数据和操作组装到一起

②、隐藏数据:对外只暴露一些接口,通过接口访问对象。比如驾驶员使用汽车,不需要了解汽车的构造细节,只知道使用什么部件怎样驾驶就行,踩了油门就能跑,可以不了解其中的机动原理。

2、继承

①、多复用,继承来的就不用自己写了

②、多继承少修改,OCP(Open-closed Principle),使用继承来改变,来体现个性。

3、多态

面向对象最灵活的地方,动态绑定

人类就是封装;

人类继承自动物类,孩子继承父母特征。分为单一继承、多继承;

多态,继承自动物类的人类、猫类的操作“吃”不同。

python面向对象的概念_Python面向对象概念和三要素相关推荐

  1. python面向对象生动讲解_Python面向对象语法精讲

    本专题的内容结构: 第一部分主要是:面向对象基础 第二部分主要是:面向对象进阶 第一部分的结构: unit1:面向对象编程模式: (1),面向对象编程思想 (2),面向对象的三个特征 (3),Pyth ...

  2. python面向对象编程中_Python面向对象编程中关于类和方法

    类和实例 python是一个面向对象的语言,而面向对象最重要的概念就是类和实例, 记得刚学习的时候不太理解这些概念,直到老师说了一句"物以类聚". 没错就是类, 归类 物以类聚 类 ...

  3. python面向对象编程从零开始_Python面向对象编程从零开始,从没对象到有对象

    原标题:Python面向对象编程从零开始,从没对象到有对象 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业智 ...

  4. python函数封装图解_Python面向对象之封装

    前文导读 知识框架: 1.什么是封装 2.封装的优点与原则 3.私有变量和私有方法 4.封装的更多说明 什么是封装 封装是面向对象编程的一大特点,面向对象编程的第一步将属性和方法封装到一个抽象类中,外 ...

  5. python如何定义类_Python 面向对象

    Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...

  6. python面向对象的优点_Python面向对象编程——总结面向对象的优点

    Python面向对象编程--总结面向对象的优点 一.从代码级别看面向对象 1.在没有学习类这个概念时,数据与功能是分离的 def exc1(host,port,db,charset): conn=co ...

  7. python面向对象类属性_python面向对象之类属性和类方法案例分析

    本文实例讲述了python面向对象之类属性和类方法.分享给大家供大家参考,具体如下: 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 -- 实例 使用面相对象开发, ...

  8. python面向对象怎么解决_Python面向对象编程1

    前言 面相对象是Python的重要特性,继承了C++的类风格,在Python中的一切数据类型都是面向对象的.本章主要介绍Python的面向对象编程. 面向对象: 什么是OOP(面向对象),Object ...

  9. python modbus类封装_Python | 面向对象程序设计来了!

    当当当,技术小E又来了! 经过前几次的基础贴的培训 相信很多同学对python的基础知识 已经有了一个简单的认识 那么下面我们来讲一讲 python面向对象程序设计. 我们在写程序的时候一般有两种方式 ...

最新文章

  1. 2021年大数据ELK(三):Lucene全文检索库介绍
  2. Qt信号与槽传递自定义数据类型——两种解决方法
  3. linux下mysql的root密码忘记解决方案
  4. 查找文本(grep)
  5. ARM非对齐操作异常解决过程
  6. mongodb指南(翻译)(二十二) - developer zone - 索引(六)多键
  7. Objectice-C之类层次结构
  8. 批量删除java注释_怎样批量去掉java文件中的注释
  9. 关于HTML头文件中的meta
  10. python创建百万个文件_python百万sitemap制作
  11. Maven学习总结(16)——深入理解maven生命周期和插件
  12. 像msn那样的message提示
  13. 教你正确说话的6个玄机
  14. Python少儿编程入门篇(1)基本数据类型
  15. 【工控安全产品】工控主机卫士
  16. 直接数字下变频(3):希尔伯特变换法
  17. 在Android Studio中隐藏APP的标题栏
  18. mysql压缩版安装教程 for Mac
  19. C#实现域账号密码登录
  20. thinkphp实现邮箱发送

热门文章

  1. c语言自动取款机贴吧,求助 简单atm机的循环操作
  2. (王道408考研数据结构)第四章串-第二节:串的模式匹配算法(朴素和KMP)
  3. 栈溢出笔记1.11 SafeSEH
  4. Visual Studio配置64/32位汇编程序开发环境
  5. CSRF攻击原理与防御方法
  6. Linux删除所有文件(作死命令,危险命令)
  7. 纯干货:Linux抓包命令集锦(tcpdump)
  8. 【bzoj4007】[JLOI2015]战争调度 暴力+树形背包dp
  9. 【转】[caffe]深度学习之图像分类模型AlexNet解读
  10. wpf 将Style应用到 ListView 中的 ListViewItem 元素