面向对象的特点以及开发过程。
    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. 1. JVM核心类加载器及类加载的全过程

    运行环境: 下面说明一下我的运行环境.我是在mac上操作的. 先找到mac的java地址. 从~/.bash_profile中可以看到 java的home目录是: /Library/Java/Java ...

  2. feign的一个注解居然隐藏这么多知识!

    引言 最近由于业务的需要,需要接入下阿里云的一个接口,打开文档看了看这个接口看下来还是比简单的目测个把小时就可以搞定,但是接入的过程还是比较坎坷的.首先我看了看他给的示例,首先把阿里云文档推荐的dem ...

  3. 洛谷2900 [USACO08MAR]土地征用Land Acquisition (斜率优化+dp)

    自闭的一批....为什么斜率优化能这么自闭. 首先看到这个题的第一想法一定是按照一个维度进行排序. 那我们不妨直接按照\(h_i\)排序. 我们令\(dp[i]\)表示到了第\(i\)个矩形的答案是多 ...

  4. 试题 算法训练 二进制数数 java解题

    资源限制 时间限制:1.0s   内存限制:256.0MB 问题描述 给定L,R.统计[L,R]区间内的所有数在二进制下包含的"1"的个数之和. 如5的二进制为101,包含2个&q ...

  5. SpringMVC 获得请求数据

    获得请求参数 客户端请求参数的格式是:name=value&name=value- - 服务器端要获得请求的参数,有时还需要进行数据的封装,SpringMVC可以接收如下类型的参数: 基本类型 ...

  6. 解决GitHub访问慢

    话不多说,上干货~~~ 1. 打开 http://tool.chinaz.com/dns/ ,在输入框中填写 github.com,然后点击检测按钮,会列出响应ip,如图: 2. 找到hosts文件, ...

  7. Vue3学习(八)之 Vue CLI多环境配置

    一.前言 这里相对于之前就没那么麻烦了,通俗点说就是使用配置文件来管理多环境,实现环境的切换. 二.实现切换 1.增加开发和生产配置文件 在web的根目录下,创建开发环境切换配置文件.env.dev, ...

  8. 【Spring】IoC容器 - 依赖来源

    前言 上一篇文章已经学习了[依赖注入]相关的知识,这里详细的介绍一下[依赖来源]. 依赖来源 我们把依赖来源分为依赖查找的来源和依赖注入的来源分别讨论. 依赖查找的来源 1. Spring BeanD ...

  9. LCP 07.传递消息

    题目 小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下: 有 n 名玩家,所有玩家编号分别为 0 - n-1,其中小朋友 A 的编号为 0 每个玩家都有固定的若干个可传信息的其他玩家(也可 ...

  10. 如何知道当前使用的python的安装路径

    电脑里多处安装了python,那么如何得知当前使用python的安装路径呢? 方法一 运行python指令: import sys print(sys.executable) 方法二 对于终端和Win ...