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 ...
随机推荐
- python 3编写贴吧图片下载软件(超简单)
业余时间初学者作品,大佬勿喷,代码都很简单. py文件打包成exe教程:python3.7 打包成exe程序, 本程序体验下载地址:python编译的贴吧图片下载工具 先上效果图 启动后是这样的: 按 ...
- mysql查询用,或#隔开的字段
假如,user表有一字段 pids,pids字段是用#(实际用逗号合适)隔开的师傅id.现在查询师傅id:168的徒弟有哪些(徒弟.徒孙.徒孙的徒弟.徒孙的徒孙....) sql: select * ...
- python traceback获取详细的异常信息
运行结果 : 用try except 会报出报错信息,但是没有具体哪个地方报错,多少行,这样不利于查找报错信息 这时我们就可以使用traceback模块 运行结果: 如上图,报错信息会具体 ...
- vue table 固定首列和首行
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- CentOS下添加用户并且让用户获得root权限
转自:https://blog.csdn.net/tropicofcancer9/article/details/53926920 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: ...
- L1-016 查验身份证 (15 分)【考细心,考flag设置】
一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...
- ECC椭圆曲线以及计算出公钥的过程(BTC为例)
ECC概念 全称 “ Ellipse Curve Cryptography ” means “ 椭圆 曲线 密码学 ”. 传统加密方法大多基于大质数因子分解困难性来实现,ECC则是通过椭圆曲线方程式 ...
- SQL SERVER 基本操作语句
Sql 是一种结构化的查询语言:Sql是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理‘关系型数据库’系统:Sql对大小写不敏感:Sql不是数据库,是行业标准,是结构化的查询语言 In ...
- dddquickly
在项目开发最初的时候,他也有过一段狂欢般的快乐时光,不久之后,事情就越来越艰难. 项目的代码越来越难以维护,工作越来越像是一种煎熬,合作的同事对他越来越不满. “该是与这个项目,与这个公司说 bye ...
- 20175313 张黎仙《Java程序设计》第九周学习总结
目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...