java面向对象程序设计的特点

概述:

面向对象的思想
将客观事物看作具有状态和行为的对象,通过抽象找出同一类对象的共同状态和行为,构成类。
一、两个要素:对象,类
1、对象
——现实世界中
🎈万物皆对象
🎈都具有各自的属性,对外界都呈现各自的行为
——程序中
🎈一切都是对象
🎈都具有标识 (identity), 属性和行为(方法)
🎈通过一个或多个变量来保存其状态
🎈通过方法(method) 实现他的行为
2、类
🎈将属性及行为相同或相似的对象归为一类
🎈类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为
🎈在面向对象的程序设计中,每一个对象都属于某个特定的类,

二、四个特性:抽象,封装,继承,多态
——抽象
忽略问题中与当前目标无关的方面,以便更充分地注意与当前目标有关的方面;
计算机软件开发中所使用的抽象有:
①过程抽象
🎈将整个系统的功能划分为若干部分,强调功能完成的过程和步骤,而隐藏其具体的实现;
🎈任何一个明确定义的功能操作都可被看作单个的实体,尽管这个操作实际上可能由一系列更低级的操作来完成
🎈基于过程抽象的两个标准程序设计技术:过程分解和递归技术 ;
②数据抽象
🎈将需要处理的数据和这些数据上的操作结合在一起,抽象成不同的抽象数据类型
🎈每个抽象数据类型既包含了数据,也包含了针对这些数据的操作
🎈相对于过程抽象,数据抽象是更为合理的抽象方法
——封装
封装
特点:
🎈是一种信息隐蔽技术
🎈利用抽象数据类型将数据和基于数据的操作封装在一起
🎈用户只能看到对象的封装界面信息,对象的内部细节对用户是隐蔽的
🎈封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息来访问对象
定义:
🎈清楚的边界
所有对象的内部信息被限定在这个边界内
🎈接口
对象向外界提供的方法,外界可以通过这些方法与对象进行交互
🎈受保护的内部实现
功能的实现细节,不能从类外访问。
意义:
🎈在面向对象的程序设计中,类封装了数据及对数据的操作,是程序中的最小模块
🎈禁止了外界直接操作类中的数据,模块与模块之间只能通过严格控制的接口进行交互,这使得模块之间的偶合度大大降低
🎈保证了模块具有较好的独立性,程序维护和修改较为容易

——继承
🎈是指新的类可以获得已有类(称为超类、基类或父类)的属性和行为,称新类为已有类的派生类(也称为子类)
🎈在继承过程中派生类继承了基类的特性,包括方法和实例变量
🎈派生类也可修改继承的方法或增加新的方法,使之更适合特殊的需要
🎈有助于解决软件的可重用性问题,使程序结构清晰,降低了编码和维护的工作量
🎈继承分类:
①单继承
任何一个派生类都只有单一的直接父类
类层次结构为树状结构
②多继承
一个类可以有一个以上的直接父类
类层次结构为网状结构,设计及实现比较复杂
Java语言仅支持单继承
——多态
🎈一个程序中同名的不同方法共存
🎈主要通过子类对父类方法的覆盖来实现
🎈不同类的对象可以响应同名的消息(方法) ,具体的实现方法却不同
🎈使语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了应用程序方法同名问题

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值