day34-1 面向对象概述
面向对象编程
面向过程&面向对象
- 都是一种解决问题的思想
- 面向过程:在解决问题的时候,关注的是解决问题的每一个过程(步骤)
- 面向对象:在解决问题的时候,关注的是解决问题所需要的对象
- 举个例子:

- 对比
- 首先两者都是指解决问题的方式(思想)
- 而面向对象本身则是对面向过程的封装
- 面向过程编程最重要的是:
- 把整件事情按步骤划分
- 把每一个任务,分解成具体的一个个步骤
- 面向对象编程最重要的事:
- 按照功能对象进行划分
- 找到对象,确定对象的属性和技能
- 如何从面向过程的思想,过渡到面向过程编程?
- 先按面向过程的方式,把整个事情列举出一个个实现步骤
- 试图分离这些实现步骤中的功能代码块
- 将这些代码块,按照功能划分到一个个对象中
- 根据这个对象以及对应的行为(技能),抽象出对应的类(设计类)
- 首先两者都是指解决问题的方式(思想)
Python中一切皆对象
Python是一门特别彻底的面向对象编程(oop)的语言,在其他某些语言中,int、float、bool这些是属于基本数据类型,并不是对象类型,只有str,list这些才属于对象类型。而在Python中,所有的都属于对象类型。
什么是对象?
对象: 就是特征(属性:变量)和技能(方法:函数)的结合体(把很多零散的东西,封装为一个整体)
面向对象编程: 定义出一个个鲜明独特的对象, 然后通过对象之间的交互编程
优点:扩展性非常强
缺点:逻辑非常复杂
以选课系统为例:
# 定义学生对象
# 姓名:张三
# 学号:1
# 学校:a中
# 技能:吃饭,打篮球
# 姓名:李四
# 学号:2
# 学校:a中
# 技能:吃饭,打游戏
# 定义老师对象
# 姓名:王五
# 学校:a中
# 技能:教学,看书
# 姓名:小明
# 学校:a中
# 技能:教学,做饭
day34-1 面向对象概述的更多相关文章
- Java之面向对象概述,类,构造方法,static,主方法,对象
一.面向对象概述 面向过程 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响 ...
- 菜鸟笔记 -- Chapter 6.1 面向对象概述
6.1 面向对象概述 在程序开发的初期人们使用结构化开发语言,但是随着时间的流逝,软件的规模越来越庞大,结构化语言的弊端逐渐暴露出来,开发周期被无限制拖延,产品质量也不尽如人意,人们终于发现结构化语言 ...
- c# 第28节 面向对象概述
本节内容: 1:面向对象概述 2:类与对象的概念 1:面向对象概述 面向对象也称:OOP :object-oriented programming 面向对象的程序设计 面向过程:堆代码,从头开始,自己 ...
- Python入门篇-面向对象概述
Python入门篇-面向对象概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.语言的分类 面向机器 抽象成机器指令,机器容易理解 代表:汇编语言 面向过程 做一件事情,排出个 ...
- Java 面向对象概述原理: 多态、Object类,转型(8)
Java 面向对象概述原理: 多态.Object类,转型(8) http://docs.oracle.com/javase/tutorial/java/IandI/override.html Java ...
- 09_java之面向对象概述
01面向对象和面向过程的思想 * A: 面向过程与面向对象都是我们编程中,编写程序的一种思维方式 * a: 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程. * b: ...
- Java面向对象概述
一.什么是面向对象? 现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类.书桌.计算机.高楼大厦等.人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的 ...
- PHP面向对象概述
结构化编程 在程序设计的早期,程序用流程图和自顶向下的方法设计.采用这种设计方法,程序员会将一个大的问题分解成更小的任务,然后为每个更小的任务编写一个过程(或函数).最后,程序员会编写一个主过程来启动 ...
- Java面向对象概述及三大特征(封装,继承和多态)
一.面向对象思想 Java是面向对象的高级语言,对于Java语言来说,万事万物皆对象! 它的基本思想是使用类,对象,继承,封装,消息等基本概念进行程序设计.面向对象程序的最小单元是类,类代表了客观世界 ...
- Java面向对象概述和三大特性
Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心.围绕着 Java 类和 Java 对象,有三大基本特性:封装是 Java 类的编写规范.继承是类与类之间联系的一种形式.而多态 ...
随机推荐
- NLTK学习笔记(二):文本、语料资源和WordNet汇总
目录 语料库基本函数表 文本语料库分类 常见语料库及其用法 载入自定义语料库 词典资源 停用词语料库 WordNet面向语义的英语字典 语义相似度 语料库基本函数表 示例 描述 fileids() 语 ...
- MYSQL(一) 简单语法
MYSQL(一) 简单语法 1.默认约束:mysql里面DEFAULT关键字后面是不用加括号的 --1.1 创建数据库 mysql> create database holly; Query O ...
- EditorLineEnds.ttr的困扰
DELL的n年的商用机电脑硬盘坏了,措手不及. 256ssd+1tb企业级.机器快乐很多.一小步,让机器快了一大步. 但是2007出问题了,每次启动EditorLineEnds.ttr被占用.原来有那 ...
- 元素类型为 "session-factory" 的内容必须匹配 "(property*,mapping*,(class-cach....解决方法
http://www.cnblogs.com/kisso143/p/3642057.html property必须写在mapping的上面.
- navicat 为表添加索引
navicat 为表添加索引 分析常用的查询场景,为字段添加索引,增加查询速度. 可以添加单列索引,可以添加联合索引. 右键,设计表中可以查看和添加修改索引! 索引一定要根据常用的查询场景进行添加! ...
- 用saltapi远程操作tomcat启停时,输出日志乱码再解决
以前解决过一次,是定义LC_ALL为指定编码.但这种思路不完全,因为机器各各不同,系统编码本身不一致(标准化之路漫长啊) 故而在其它一些系统的部署时,用上一次的方案,反而会有错误产生. 于是,按洪军找 ...
- 【ACM】poj_1363_Rails_201308081502
Rails Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 21528 Accepted: 8597 Descriptio ...
- redis-windows上的安装与其他命令
为什么用Redis 数据库的IO是一个性能瓶颈,需要用redis来解决,100个IO并发已经很不错了,因为数据库天生就需要写磁盘,而redis不需要实时写磁盘而又可以存入数据库 安装 以服务的方式启动 ...
- Create and Call HttpHandler in SharePoint
Create and Call HttpHandler in SharePoint Requirement: 1. Create a httphandler, and reture json data ...
- 开源项目 apk cfg and android app path profiling
暑假里面完毕的一个小项目,limitation还是挺多的. 期待未来有更大的motivation 去完好它.通过此次的项目设计,对于smali的语法更加了解了,对于进一步学习android app的安 ...