要理解面向对象,我们首先要知道什么是面向过程

面向过程:

    面向过程重点在过程两个字,神马是过程,这还要解释吗?我还是说下吧,过程就是一条线,一个步骤跟着一个步骤,更生动点的说就是像工厂里面的流水线一样。

    它的优点是很明显的,一个流程一个流程的走,对于一些不需要太多修改的程序很简单,它能把复杂的问题简单化。

    而它的缺点也是很明显的,缺少灵活性,即一套流水线的作业只能适合于去解决一类问题。

说了面向过程,那么面向对象和它有什么区别呢?为什么会产生面向对象?我们怎么去使用面向对象来进行编程?

面向对象的核心自然是对象,什么是对象?答曰:万物皆对象。解释完毕。哈哈,这样说却是是够笼统的啊,我们细化的说,对象就是现实生活中每一个具体的东西,我们能通过一些描述性的语言把它标识出来,这就是一个一个的对象,例如一个人。而众多有相同特征的对象又可以归为一类,例如人类。

面向对象编程,就是把现实中的对象对应到我们的程序中去,这是一种很伟大的思想,我们在程序中写好每一个类,然后通过类产生一个一个的对象。

可以看如下现实对象与程序中对象的对应关系:

现实中的对象 python 中的对象
通过总结现实中所有对象共有的特征而得出相应得类 首先定义类,然后由类产生对象,类定义的属性和方法是通过对所要处理问题的抽象
特征 属性
行为 方法
生育 继承
活生生的人 指向内存的一块空间

区别:

  说了这些,我们可以看出它和面向过程的主要区别就是关注点不同,就好比你去跑步,面向过程只关注你怎么跑,而面向对象则关注的是跑步的人。面向过程的思维方式是分析综合,面向对象的思维方式是构造。

为什么会产生面向对象:我觉得主要是面向过程的扩展性差,而面向对象的扩展性很好,而当前很多软件的需求是经常性的变化的。

怎么使用面向对象编程:

  这里简单大概的说一下,使用一个对象首先要定义一个类,类名要大写,然后通过类加括号,加或不加参数就可以产生一个又一个对象了。对象的初始化方法在每个类产生对象的时候被调用。类里面定义的方法的self参数指向创建的对象。

day24--面向对象基础的更多相关文章

  1. day24 面向对象设计part1

    #!/usr/bin/env python # -*- coding:utf-8 -*- # ----------------------------------------------------- ...

  2. 了解JavaScript 面向对象基础 & 原型与对象

    面向对象语言中的对象 老是能听到什么基于对象, 面向对象. 什么是对象, 如果有面向对象基础的人可以无视了, 下面举个简单的例子给大家讲讲面向对象中, 对象的定义, 这个是比较通用的, 不过对于JS来 ...

  3. MYSQL、PHP基础、面向对象基础简单复习总结

    一.MYSQL         1.配置MySql                 第一步安装服务器(apache).                 第二部安装MySql界面程序         2 ...

  4. 从零开始学Python第六周:面向对象基础(需修改)

    标签(空格分隔): 面向对象 一,面向对象基础 (1)面向对象概述 面向过程:根据业务逻辑从上到下写代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类 ...

  5. python面向对象基础

    面向对象基础 1. 简述 编程方式: 面向过程: 根据代码在脚本的堆叠顺序,从上到下依次执行 函数式编程:将相同功能的代码封装到函数中,直接调用即可,减少代码重复性 面向对象:对函数进行分类和封装,将 ...

  6. java基础学习05(面向对象基础02)

    面向对象基础02 实现的目标 1.String类的使用2.掌握this关键字的使用3.掌握static关键字的使用4.了解内部类 String类 实例化String对象一个字符串就是一个String类 ...

  7. java基础学习05(面向对象基础01--类实例分析)

    面向对象基础01(类实例分析) 实现的目标 1.如何分析一个类(类的基本分析思路) 分析的思路 1.根据要求写出类所包含的属性2.所有的属性都必须进行封装(private)3.封装之后的属性通过set ...

  8. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  9. 8.python笔记之面向对象基础

    title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...

  10. 【重走Android之路】【Java面向对象基础(三)】面向对象思想

    [重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想   1 面向对象的WWH   1.1 What--什么是面向对象         首先,要理解“对象”.在Thinkin ...

随机推荐

  1. django——web框架简介

    1.web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件. 应用程序有两种模式C/S.B/S.C/S是客户 ...

  2. Windows中杀死占用某个端口的进程(转)

    最近写项目,总是出现端口被占用的问题,原来傻傻的把电脑重启一下,终于有一天受不了了,想要想办法解决.刚开始从网上找了好多教程,发现不行.开始自己尝试,终于,成功的将占用端口的进程杀掉.在此记录下过程( ...

  3. centos中安装基础环境

    进入到相关目录cd /usr/bin安装python3yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-dev ...

  4. MariaDB基本操作--(创建用户)(转)

    一. 创建用户 命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: username:你将创建的用户名 host:指定该用户 ...

  5. 在Windows上安装Nexus 3.2.0-01

      在Windows上安装Nexus 环境: Windows 7 apache-maven-3.3.9 JDK 1.8 下载Nexus: https://sonatype-download.globa ...

  6. Eureka源码解读

    Eureka是我接触分布式软件和服务的第一个框架,所以其原理和实现我的好好研究一下,Eureka可以参看这篇博文:http://springcloud.cn/view/29 初学者会在教程中看到使用@ ...

  7. laravel之数据库

    mysql数据库设置其实在.env中 数据库修改在

  8. MySQL数据库下载安装和DataGrip的下载安装和破解

    一: 数据库下载 地址:官网https://dev.mysql.com/downloads/file/?id=482771;如果参数id失效,就选择之前的版本,5.7就可以,太新的没人用,老的很稳定. ...

  9. CSP201312-4 有趣的数【dp】

    问题描述 试题编号: 201312-4 试题名称: 有趣的数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, ...

  10. NoSQL数据库常见分类

    1.列式数据库HBaseBigTable2.K-V数据库RedisCassandraLevelDBMemCacheEhcache3.文档数据库MongoDBCouchDB4.全文搜索引擎Elastic ...