day24--面向对象基础
要理解面向对象,我们首先要知道什么是面向过程
面向过程:
面向过程重点在过程两个字,神马是过程,这还要解释吗?我还是说下吧,过程就是一条线,一个步骤跟着一个步骤,更生动点的说就是像工厂里面的流水线一样。
它的优点是很明显的,一个流程一个流程的走,对于一些不需要太多修改的程序很简单,它能把复杂的问题简单化。
而它的缺点也是很明显的,缺少灵活性,即一套流水线的作业只能适合于去解决一类问题。
说了面向过程,那么面向对象和它有什么区别呢?为什么会产生面向对象?我们怎么去使用面向对象来进行编程?
面向对象的核心自然是对象,什么是对象?答曰:万物皆对象。解释完毕。哈哈,这样说却是是够笼统的啊,我们细化的说,对象就是现实生活中每一个具体的东西,我们能通过一些描述性的语言把它标识出来,这就是一个一个的对象,例如一个人。而众多有相同特征的对象又可以归为一类,例如人类。
面向对象编程,就是把现实中的对象对应到我们的程序中去,这是一种很伟大的思想,我们在程序中写好每一个类,然后通过类产生一个一个的对象。
可以看如下现实对象与程序中对象的对应关系:
| 现实中的对象 | python 中的对象 |
| 通过总结现实中所有对象共有的特征而得出相应得类 | 首先定义类,然后由类产生对象,类定义的属性和方法是通过对所要处理问题的抽象 |
| 特征 | 属性 |
| 行为 | 方法 |
| 生育 | 继承 |
| 活生生的人 | 指向内存的一块空间 |
区别:
说了这些,我们可以看出它和面向过程的主要区别就是关注点不同,就好比你去跑步,面向过程只关注你怎么跑,而面向对象则关注的是跑步的人。面向过程的思维方式是分析综合,面向对象的思维方式是构造。
为什么会产生面向对象:我觉得主要是面向过程的扩展性差,而面向对象的扩展性很好,而当前很多软件的需求是经常性的变化的。
怎么使用面向对象编程:
这里简单大概的说一下,使用一个对象首先要定义一个类,类名要大写,然后通过类加括号,加或不加参数就可以产生一个又一个对象了。对象的初始化方法在每个类产生对象的时候被调用。类里面定义的方法的self参数指向创建的对象。
day24--面向对象基础的更多相关文章
- day24 面向对象设计part1
#!/usr/bin/env python # -*- coding:utf-8 -*- # ----------------------------------------------------- ...
- 了解JavaScript 面向对象基础 & 原型与对象
面向对象语言中的对象 老是能听到什么基于对象, 面向对象. 什么是对象, 如果有面向对象基础的人可以无视了, 下面举个简单的例子给大家讲讲面向对象中, 对象的定义, 这个是比较通用的, 不过对于JS来 ...
- MYSQL、PHP基础、面向对象基础简单复习总结
一.MYSQL 1.配置MySql 第一步安装服务器(apache). 第二部安装MySql界面程序 2 ...
- 从零开始学Python第六周:面向对象基础(需修改)
标签(空格分隔): 面向对象 一,面向对象基础 (1)面向对象概述 面向过程:根据业务逻辑从上到下写代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类 ...
- python面向对象基础
面向对象基础 1. 简述 编程方式: 面向过程: 根据代码在脚本的堆叠顺序,从上到下依次执行 函数式编程:将相同功能的代码封装到函数中,直接调用即可,减少代码重复性 面向对象:对函数进行分类和封装,将 ...
- java基础学习05(面向对象基础02)
面向对象基础02 实现的目标 1.String类的使用2.掌握this关键字的使用3.掌握static关键字的使用4.了解内部类 String类 实例化String对象一个字符串就是一个String类 ...
- java基础学习05(面向对象基础01--类实例分析)
面向对象基础01(类实例分析) 实现的目标 1.如何分析一个类(类的基本分析思路) 分析的思路 1.根据要求写出类所包含的属性2.所有的属性都必须进行封装(private)3.封装之后的属性通过set ...
- java基础学习05(面向对象基础01)
面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...
- 8.python笔记之面向对象基础
title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...
- 【重走Android之路】【Java面向对象基础(三)】面向对象思想
[重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinkin ...
随机推荐
- flash上传头像,截取图像 组件演示
效果图如下: HTML页面代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http:// ...
- XIV Open Cup named after E.V. Pankratiev. GP of Europe
A. The Motorway 等价于找到最小和最大的$L$满足存在$S$使得$S+(i-1)L\leq a_i\leq S+i\times L$ 即 $S\leq\min((1-i)L+a_i)$ ...
- 【C语言程序】输出前50个素数
#include <stdio.h> #include <stdlib.h> int main(void) { ; ; ){ ; ;i<x;i++){ ...
- ipdb介绍及Tensor
ipdb介绍 1.现在IPython之外使用debug功能,则需要安装ipdb(pip install ipdb),而后在需要进入调试的地方加上如下代码即可: import ipdb ipdb.set ...
- IOS中多线程的总结
首先要知道线程和进程的区别.一个系统上运行的每一个应用程序都是一个线程.而进程中要执行的任务都是在线程上来实现的,所以说线程是进程的最小执行单元. 进程最少要有一个线程.多线程,顾名思义就是多条线程. ...
- element 如何自定义主题
自定义主题 在我学习element的时候,就直接忽略了.现在返回来学习一下 ,原来 通过自定义主题可以改变elemnt中默认的一些样式.这样,对于一些不想用elment自带但是用到比较多的样式,可以进 ...
- ssh 免密登录
一,单机秘密登录 进入/etc/ssh 文件夹 编辑sshd_config 文件(sshd_config是ssh 服务端文件,ssh_config是客户端文件) sudo vi sshd_config ...
- Float.intBitsToFloat
Float.intBitsToFloat(0b) Float.intBitsToFloat(0) Float.intBitsToFloat(0x) ========================== ...
- doubleclick cookie、动态脚本、用户画像、用户行为分析和海量数据存取 推荐词 京东 电商 信息上传 黑洞 https://blackhole.m.jd.com/getinfo
doubleclick cookie https://mp.weixin.qq.com/s/vZUj-Z9FGSSWXOodGqbYkA 揭密Google的网络广告技术:基于互联网大数据视角 原创: ...
- 使用sessionStorage进行数据存值
<!DOCTYPE html> <head> <meta charset="UTF-8" /> <meta name="view ...