面向对象编程

面向过程&面向对象

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

  • 对比

    • 首先两者都是指解决问题的方式(思想)

      • 而面向对象本身则是对面向过程的封装
    • 面向过程编程最重要的是:
      • 把整件事情按步骤划分
      • 把每一个任务,分解成具体的一个个步骤
    • 面向对象编程最重要的事:
      • 按照功能对象进行划分
      • 找到对象,确定对象的属性和技能
    • 如何从面向过程的思想,过渡到面向过程编程?
        1. 先按面向过程的方式,把整个事情列举出一个个实现步骤
        2. 试图分离这些实现步骤中的功能代码块
        3. 将这些代码块,按照功能划分到一个个对象中
        4. 根据这个对象以及对应的行为(技能),抽象出对应的类(设计类)

Python中一切皆对象

Python是一门特别彻底的面向对象编程(oop)的语言,在其他某些语言中,int、float、bool这些是属于基本数据类型,并不是对象类型,只有str,list这些才属于对象类型。而在Python中,所有的都属于对象类型。

什么是对象?

  • 对象: 就是特征(属性:变量)和技能(方法:函数)的结合体(把很多零散的东西,封装为一个整体)

  • 面向对象编程: 定义出一个个鲜明独特的对象, 然后通过对象之间的交互编程

  • 优点:扩展性非常强

  • 缺点:逻辑非常复杂

以选课系统为例:

# 定义学生对象

	# 姓名:张三
# 学号:1
# 学校:a中
# 技能:吃饭,打篮球 # 姓名:李四
# 学号:2
# 学校:a中
# 技能:吃饭,打游戏 # 定义老师对象 # 姓名:王五
# 学校:a中
# 技能:教学,看书 # 姓名:小明
# 学校:a中
# 技能:教学,做饭

day34-1 面向对象概述的更多相关文章

  1. Java之面向对象概述,类,构造方法,static,主方法,对象

    一.面向对象概述 面向过程 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响 ...

  2. 菜鸟笔记 -- Chapter 6.1 面向对象概述

    6.1 面向对象概述 在程序开发的初期人们使用结构化开发语言,但是随着时间的流逝,软件的规模越来越庞大,结构化语言的弊端逐渐暴露出来,开发周期被无限制拖延,产品质量也不尽如人意,人们终于发现结构化语言 ...

  3. c# 第28节 面向对象概述

    本节内容: 1:面向对象概述 2:类与对象的概念 1:面向对象概述 面向对象也称:OOP :object-oriented programming 面向对象的程序设计 面向过程:堆代码,从头开始,自己 ...

  4. Python入门篇-面向对象概述

    Python入门篇-面向对象概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.语言的分类 面向机器 抽象成机器指令,机器容易理解 代表:汇编语言 面向过程 做一件事情,排出个 ...

  5. Java 面向对象概述原理: 多态、Object类,转型(8)

    Java 面向对象概述原理: 多态.Object类,转型(8) http://docs.oracle.com/javase/tutorial/java/IandI/override.html Java ...

  6. 09_java之面向对象概述

    01面向对象和面向过程的思想 * A: 面向过程与面向对象都是我们编程中,编写程序的一种思维方式 * a: 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程. * b: ...

  7. Java面向对象概述

    一.什么是面向对象? 现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类.书桌.计算机.高楼大厦等.人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的 ...

  8. PHP面向对象概述

    结构化编程 在程序设计的早期,程序用流程图和自顶向下的方法设计.采用这种设计方法,程序员会将一个大的问题分解成更小的任务,然后为每个更小的任务编写一个过程(或函数).最后,程序员会编写一个主过程来启动 ...

  9. Java面向对象概述及三大特征(封装,继承和多态)

    一.面向对象思想 Java是面向对象的高级语言,对于Java语言来说,万事万物皆对象! 它的基本思想是使用类,对象,继承,封装,消息等基本概念进行程序设计.面向对象程序的最小单元是类,类代表了客观世界 ...

  10. Java面向对象概述和三大特性

    Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心.围绕着 Java 类和 Java 对象,有三大基本特性:封装是 Java 类的编写规范.继承是类与类之间联系的一种形式.而多态 ...

随机推荐

  1. Python基础--Redis基础

    字符串: setnx: 若没有则设置 setex: setex key exit_time value [设置其删除时间] setrange: setrange key index replace_v ...

  2. Golang - 处理字符串

    目录 Golang - 处理字符串 1. 字符串操作 2. 字符串转换 Golang - 处理字符串 1. 字符串操作 func Contains(s, substr string) bool 字符串 ...

  3. 和socket、rs232通信遇到的糟糕问题。备查!

    procedure Tfrm_FoldingCloth.btn1Click(Sender: TObject); var SND:array of byte; begin if Not cnrs232. ...

  4. jvm学习-垃圾回收器(四)

    说明 各种垃圾回收算法都有各自的优缺点.jvm也并没有只采用一种垃圾算法.并提供几种组合供我根据场景进行选择. jvm内存结构 Person p=new Person(); 1.程序里面创建一个对象会 ...

  5. floyd求最小环 模板

    http://www.cnblogs.com/Yz81128/archive/2012/08/15/2640940.html 求最小环 floyd求最小环 2011-08-14 9:42 1 定义: ...

  6. LNMP一键安装包 V1.1 公布

    LNMP一键安装包 是一个用Linux Shell编写的能够为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.P ...

  7. kvc和kvo的使用情况的了解

    了解cocoa:Cocoa是苹果公司为Mac OS X所创建的原生面向对象的API,是Mac OS X上五大API之中的一个(其他四个是Carbon.POSIX.X11和Java). 苹果的面向对象开 ...

  8. web请求乱码问题总结

    问题1:springmvc通过@ResponseBody向页面返回值(包括汉字)时,乱码 解决方案: springmvc3.2之后可以声明注解驱动器(不知道是不是这么翻译)的时候的控制编码的转换,结果 ...

  9. nyoj--106--背包问题(贪心,水题)

    背包问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<= ...

  10. [JavaEE] Spring事务配置的五种方式

    前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. ...