JAVA基础之面向对象(一)

编程入门 行业动态 更新时间:2024-10-17 11:25:38

JAVA基础之<a href=https://www.elefans.com/category/jswz/34/1769334.html style=面向对象(一)"/>

JAVA基础之面向对象(一)

一、面向对象

“一树一菩提,一花一世界。”一切皆对象,万事有三问,我是谁?我从哪里来?我倒那里去?

1. OOP思想(Object Oriented Programming 面向对象的程序设计)
概念

OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。OOP 主要有以下的概念和组件:

  1. 组件 - 数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和结构化的基础。
  2. 抽象性 - 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。
  3. 封装 - 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。
  4. 多态性 - 组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果依据实际调用的类型。
  5. 继承性 - 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。
特征
  1. 封装性
  2. 多态性
  3. 继承性
  4. 抽象性
重点

抽象是面向对象思想最基础的能力之一,正确而严谨的业务抽象和建模分析能力是后续的封装、继承、多态的的基础,是软件大厦的基石。

2. JAVA面向对象的设计
2.0 概述

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程

2.1 语言特点
  • 简单性
  • 面向对象
  • 分布性
  • 编译和解释性
  • 稳健性
  • 安全性
  • 可移植性
  • 高性能
  • 多线索性
  • 动态性
2.1 java的一树一世界

java之父Gosling设计得Object类,是任何类的默认父类(好比大树的跟,每一片叶子都与他有关),是对万事万物的抽象。我们都知道哲学的三大经典问题:我是谁,从哪里来,到哪里去。在Object类中,这些问题都可以得到隐约的回答:

  1. 我是谁?

getClass()说明本质上是谁,二toString()是当前我的名片

  1. 我从哪里来?

Object()构造方法是生产对象的基本方式,clone() 是繁殖对象的另一种方式。

  1. 我到哪里去?

finalize()是在对象销毁时触发的方法

回答完哲学家的问题,我们再来看看我们还能做些什么?

  1. 世界是否因你而不同

hashCode()和equals()就是判断与其他元素是否相同的一组方法。

  1. 与他人如何协作

wait() 和notify()是对象间通信与协作的一组方法

2.2 JAVA的封装、继承、多态
封装
  1. 封装是在抽象基础上决定信息是否公开,以及共公开的等级,核心问题是以什么样的方式暴露哪些信息。
  2. 封装使面向对象世界变得单纯,对象之间的关系变得简单,各人自扫门前雪,耦合度变低,有利于维护。
  3. 隐藏对象内部信息,是外部无法访问,提升数据的安全。

迪米特法则:A模块使用B模块的某个借口行为,对B模块中除此以外的其他信息知道的尽可能少。

属性值的访问
  1. 使用getter/setter方法
  2. 不直接对public的属性进行读取和修改
  3. 优先推荐使用private控制级别
继承
  1. 继承是面向对象编程技术的基石,允许创建具有逻辑等级结构的类体系,形成一个继承树。
  2. 让软件在业务多变的情况下,某些基础模块可以直接被复用,间接复用或增强复用,父类的能力通过这种方式赋予子类。
  3. IS-A的关系
多态
  1. 效果
    根据运行时的实际对象类型,同一个方法产生不同的运行结果,使同一个行为具有不同的表达方式。

  2. 多态的优点

     - 消除类型之间的耦合关系- 可替换性- 可扩充性- 接口性- 灵活性- 简化性
    
  3. 多态存在的三个必要条件

    - 继承
    - 重写
    - 父类引用指向子类对象
    
3. 结束

更多推荐

JAVA基础之面向对象(一)

本文发布于:2024-03-08 10:09:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1720573.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:面向对象   基础   JAVA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!