面向对象的特点以及开发过程。
    java中最大的特点是其支持面向对象编程设计思想。在面向对象之前广泛流传的是面向过程的编程思想,例如:C语言的开发就属于面向过程
    如果要想更简单的去理解面向过程与面向对象的区别:如果说现在要生产自行车:
        面向对象:不同的工厂生产不同的配件,而后合理的组装,这样的好处是所有的配件都统一的标准化的尺寸。如果出现了损坏,那么可以进行更新
        面向过程:这个自行车自己自主开发,自主标准,当出现问题之后整体报废
    所谓的面向对象编写如果按照今天的方式来理解:制定出操作的标准,而后依据标准去执行程序。

    概念
        ⑴对象。
            对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。[2]
        ⑵对象的状态和行为。
            对象具有状态,一个对象用数据值来描述它的状态。
            对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
            对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中[2]
        ⑶类。
            具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。
            类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
            类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。[2]
        ⑷类的结构。
            在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。

            ①一般--具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。
            ②整体--部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。[2]
        ⑸消息和方法。
            对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。[2]
            类中操作的实现过程叫做方法,一个方法有方法名、返回值、参数、方法体。
>>>
    面向对象的现在最为流行的 软件设计方式之一,但是在实际的软件设计环境之中,有一部分人是反对面向对象的,包括数据库也一样,有一部分是反对关系型数据库,反对SQL的。

    对于软件开发模式有两种:面向过程,面向对象。
    面向过程指的是只完成自己所需的操作,但是这种设计会缺少可维护性。
    面向对象本质上来讲是一种组件化(模块化)的设计 。方便进行代码局部维护。但是这样的设计虽然适合维护,可是设计上的要求规范比较多。也就是说模块化的设计最为重要的是标准,以及整个项目的整体把控。

    在面向概念里面实际上回分为一下几个特点:
        封装型:保护内部的操作对外不可见,或隐私不被破坏;
        继承型:在上一辈的基础上继续发展。
        多态性:在一个可控的范围内状态可以发生转变

    而在面向对象开发之中,有三个阶段:
        OOA:面向对象分析;
        OOD:面向对象设计;
        OOP:面向对象编程。
    如果要想对面向对象进行实际的编程,那么首先就需要知道面向对象能干什么,不能干什么同时记住一个核心点,面向对象对象设计的核心:标准

    面向对象如果要进行学习,能够达到一下两点是最好的:
        可以进行现实世界的抽象;
        可以进行合理的类的功能设计。

>>>>>
    面向对象是模块化的设计
    面向对象的 主要特点:封装,继承,多态。

菜鸡的Java笔记 第八 - java 面向对象的更多相关文章

  1. Java笔记(八)

    GUI: awt和swing: java.awt:Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能.属于重量级控件. javax.swing:在awt的基 ...

  2. Java进阶(十八)Java实现定时器(Timer)

    Java实现定时器(Timer) 绪 在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等.对于这样的操作最方便.高效的实现方式就是使用java.util.Timer工具类.java.u ...

  3. 【Java笔记】配置文件java.util.Properties类的使用

    配置文件的路径:项目名/src/main/resources/mmall.properties mmall.properties的内容是键值对.例如假设写了ftp服务器的一些信息. ftp.serve ...

  4. Java笔记12:Java对象排序

    代码: import java.util.Arrays; import java.util.Comparator; class Person { private String name; privat ...

  5. java并发系列(八)-----java异步编程

    同步计算与异步计算 从多个任务的角度来看,任务是可以串行执行的,也可以是并发执行的.从单个任务的角度来看,任务的执行方式可以是同步的,也可以是异步的. Runnable.Callable.Future ...

  6. 菜鸡的Java笔记 第四 - java 基础运算符

    数学运算符,逻辑运算,三目运算,位运算 double d2 = 314e2; //采用科学计数法的写法,表示10的2次方.= 31400.0 代码写的越简单越好   简化运算符 代码:x=x+y 可以 ...

  7. 菜鸡的Java笔记 第二十三 - java 抽象类的概念

    abstractClass 抽象类的概念        1.抽象类的基本定义        2.抽象类的使用原则                不会抽象类与接口,java = 没学           ...

  8. 菜鸡的Java笔记 第七 - java 数组

    数组的基本概念     笔试中经常出现的试题或是问题    1.1 概念        数组指的是一组相关变量的集合         如果用最原始的方式定义100个变量的话没问题但是这些变量的关联实在 ...

  9. 菜鸡的Java笔记 第六 - java 方法

    前提:现在所讲解的方法定义格式,只属于JAVA 方法定义的其中一种组成方式.而完整的组成方式将随着学习逐步渗透. 1.方法的基本定义 方法(Method)在一些书中也会有人将其说是  函数(Funct ...

随机推荐

  1. Notepad++离线安装使用Markdown插件

    1.介绍 MarkdownViewerPlusPlus是Notepad++的Markdown插件, 这个Markdown插件可以在Notepad++中实时动态渲染, 可以同步查看使用Markdown的 ...

  2. uoj22 外星人(dp)

    题目大意: 给定一个\(n\)个数的序列\(a\),给定一个\(x\),其中\(a\)数组可以进行顺序的调换,每一个\(a_i\)都能使$x=x \mod a_i \(, 求最后经过一系列计算后的\) ...

  3. Azure Bicep(三)变量控制

    一,引言 当我们在使用 Azure Bicep 的时候会出现以下几个问题: 1)文件中有很多地方会重用很多相同的值 2)输入参数可以在统一的地方进行修改 带着这些问题,我们开始今天的内容,学习如何在 ...

  4. 以太坊web3开发初步学习

    以太坊web3开发初步学习 此文是对https://learnblockchain.cn/2018/04/15/web3-html/的学习再理解. 以太坊智能合约通过使用web3.js前端和智能合约交 ...

  5. 初学python-day9 函数1(已更新)

    函数 一.函数基础 1.什么是函数 在一个完整的项目中,某些功能会被重复使用,那么会将代码段封装成函数,当我们要使用的时候,直接调用即可. 函数是可以实现一定的小程序或者功能. 优点: 增加了代码的重 ...

  6. 【二食堂】Beta - Scrum Meeting 7

    Scrum Meeting 7 例会时间:5.19 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 文本区域的前后端对接完成,bug已经修复issue2. 自定义关系的添加与删 ...

  7. nio之缓冲区(Buffer)理解

    一.缓冲区简介 Nio中的 Buffer 是用于存储特定基础类型的一个容器.为了能熟练的使用 Nio中的各种 Buffer , 我们需要理解 Buffer 中的 三个重要 的属性. 1. capaci ...

  8. python画图的工具及网站

    ①Gallery - Matplotlib 3.4.3 documentation 学会模仿并超越 ②Examples - Apache ECharts js网页端动态展示 ③WEB色見本 原色大辞典 ...

  9. Spring Security:Authentication 认证(一)

    1. Spring Security 简介 在 Spring 生态系统中,为他的项目增加安全性,你可以借助 Spring Security 库来做到这一点. 那什么是 Spring Security? ...

  10. Spring的Ioc与DI

    一.前言 Spring框架的核心基于控制反转的原理. IoC是一种将组件依赖关系的创建和管理外部化的技术. 考虑一个示例,其中Foo类依赖于Bar类的实例来执行某种处理. 传统上,Foo使用new运算 ...