zoukankan      html  css  js  c++  java
  • 01_JavaSE之OOP--面向对象(类和面向对象的简单认识)

    面向对象(一)

    一、面向对象概述

      谈到面向对象就不得不谈谈面向过程,面向对象也是由面向过程发展而来。

    1. 面向过程思想概述

      面向过程,简而言之就是分步骤过程化的去解决问题,代表语言有:Pascal,C等。

      第一步如何做,第二步如何做等等。

      2. 面向对象思想概述

      面向对象的程序设计(OOP)具体的实现步骤由对象完成,程序是由对象组成的,而用户不必关心其功能的具体实现过程,只要满足用户需求即可。代表语言:java,C++,Objective-C等。

      传统的的结构化程序设计通过一系列过程(即算法)来求解问题。一旦确定了这些过程,就要开始考虑存储数据的方式。这就是Pascal语言的设计者将其著作命名为《算法+数据结构 = 程序》的原因。 命名中,算法是第一位的,数据结构是第二位的,首先要确定如何操作数据,然后再决定如何组织数据,以便数据操作。而OOP调换了这个顺序,将数据放在第一位,然后再考虑操作数据的算法。【1】

      3. 例子

      面向过程:干家务,首先你得去准备或者买干家务的工具,然后去一步一步的做,直到把家务干完。(自己做)

      面向对象:干家务,直接找一个家政或者会干家务的,告诉他怎么干,一切交给他干。或者你找一个女朋友帮你干,前提是你能找到并且愿意帮你干,O(∩_∩)O哈哈~。(找对象)

      面向对象的例子很多,例如:你去面试,企业也不是用面向对象的思想去解决问题嘛,对他而言,你就是对象。他招聘你,就是你得具体帮他处理问题的能力,你是那个他不关心如何实现,只要能满足他需求的那个对象。

      万事万物都是对象,我也在不断的去领悟这句话,也许现在领悟的还不是很深刻,但是交给时间吧。

      4. 面向对象的特点

        a. 更符合我们思想的习惯

        b. 将复杂的问题简单化

        c. 角色发生了转变,我们由执行者变成了指挥者

      5. 面向对象开发

      简而言之,就是不断地去创建对象,使用对象,指挥对象做事情

      6. 面向对象设计

      其实就是在管理和维护对象之间的关系。

      7. 面向对象的特征(后续详谈)

        封装 (encapsulation)

        继承 (inheritance)

        多态 (polymorphism)

    二、面向对象之类(类与对象)

      1.学习编程是为了什么?

      每个人有不一样的答案。我的直观感受就是赚钱。我的老师告诉我,追求卓越,成功会在不经意间追上你,这句话一直记在心间。扯远了啊,哈哈。

      学习编程是为了把我们日常生活中实物用学习的语言表述出来。

      2.我们如何去描述现实中的事物,或者说对象有什么特性?

      *属性 就是该事物的描述信息(事物身上的名词)。成员变量

      *行为 就是该事物能够做什么(事物身上的动词) 成员方法

      细化来讲,就是对象拥有行为,状态和标识(暂时不论)

      3.

      Java中最基本的单位是类。那么类是什么?

      类(class)是构造对象的模板或者蓝图。也可以说是一组相关属性和行为的集合。

      对象(object)则是该类事物的具体实现。

      由类构造(construct)对象的过程称为创建类的实例(instance)。

      

      注:【1】java核心 技术 卷I 第十版 第四章 对象和类 91~92页。

      

    如有错误之处,欢迎指正。

    邮箱:it_chang@126.com

    如有转载,请注明出处:http://www.cnblogs.com/csiOS/p/8482066.html

    stay hungry,stay foolish.
  • 相关阅读:
    Ubuntu16.04+GTX2070+Driver418.43+CUDA10.1+cuDNN7.6
    N皇后问题
    Linux Bash之通配符
    Linux Bash之正则表达式
    Linux Bash文本操作之grep篇
    Linux Bash文本操作之sed篇其二
    Integer对象两种创建方式的比较
    Class文件版本号
    group by、group_concat()、if()
    字节码命令与Java语言在语义描述能力上的差异
  • 原文地址:https://www.cnblogs.com/csiOS/p/8482066.html
Copyright © 2011-2022 走看看