JAVA-理解面向对象


前言

李刚老师《JAVA疯狂讲义》第5版,第2章学习笔记。

1.结构化程序设计

目前软件开发领域有两种主流开发方法:结构化开发方法、面向对象开发方法。

结构化开发方法:按照功能拆分开发需求,最小的程序单元为函数,每个函数完成一个功能,每个函数接受输入数据,处理后输出。整个软件系统由一个个函数构成,程序入口为主函数,主函数调用普通函数,普通函数之间依次调用,从而完成整个软件系统功能。
具体程序设计步骤如下:
1.结构化分析(Structured Analysis,SA):分析系统开发需求
2.结构化设计(Structured Design,SD):对系统进行详细设计
3.结构化编程(Structured Program,SP):实现系统每一块函数功能

2.面向对象程序设计

面向对象开发方法:从客观事物(对象)出发,构建软件系统。最小的程序单元为每个类代表了客观世界中,具有某种特征的一类事物。类包含反映客观对象状态的数据,以及操作这些状态数据的方法。

3.二者的异同

不同点:
1.结构化程序设计不够直观,与人类习惯思维不一致;面向对象程序设计更为直观
2.结构化程序设计,因为采用了自上而下的顶层设计模式,适应性、拓展性较差;面向对象程序设计适应性、拓展性更强。
3.结构化程序设计编程基础粒度(函数)较小,编程难度更大;面向对象程序设计基础粒度(类)更大,编程难度更小。

相同点:
1.面向对象程序设计也需要编写函数方法,无论是面向对象,还是结构化编程,都是基于顺序结构、选择结构、循环结构三大基本程序结构进行编程。
1996年,计算机科学家Bohm和Jacopini证明了,无论多么复杂的算法都可以利用顺序结构、选择结构和循环结构三种基本结构组成。
2.都对客观事物进行了抽象,类似于物理学中的模型,例如质点只考虑质量而不考虑体积。所有的编程语言都需要考虑抽象,就是只研究软件系统所需要的特征。

4.面向对象基本特征

面向对象三大基本特征:
1.封装(Encapsulation):隐藏对象内部细节,通过方法来暴露对象的具体功能。
2.继承(Inheritance):A类继承B类后,A类为B类的子类,B类为A类的父类,子类可以直接获得父类的属性和方法。继承是实现软件复用的重要手段。
3.多态(Polymorphism):同一个类的对象在执行同一个方法时,可能表现出多种行为特征。因为,每一个子类都可能根据自己的对象的特征,复写了父类中的某一个方法,这样在调用这个方法的时候,方法名是一样的,但是,会依据不同子类中的方法的复写,得到不同的结果。

5.JAVA面向对象特征

  1. 除去8个基础数据类型以外,一切都是对象。
  2. JAVA通过为对象定义成员变量来描述对象状态数据。通过为对象定义方法来描述对象行为。
  3. JAVA对象具有唯一性,每一个对象由一个唯一标识来引用,如果对象失去了标识,那么对象将变成垃圾,只能等待垃圾回收极值回收。
  4. JAVA语言不允许直接访问对象,必须要通过对象的引用来操作对象。
  5. JAVA中的类是对象的抽象化,用来描述一系列的对象;对象是类的一个具体的实例个体。
  6. JAVA中的类包括两种关系:结构关系和组合关系。结构关系就是父类和子类,例如:苹果类的父类是水果类。组合管理就是包含与被包含的关系,例如电脑和CPU。二者都是JAVA实现代码复用的重要手段。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值