- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象技术优点.doc
面向对象技术的优点
使用面向对象思想进行开发有以下优点:
?1、易维护?
采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。?
2、质量高?在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。?
3、效率高?
在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
?4、易扩展?
由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
首先,对象的引入方便了在软件虚拟世界中模拟现实世界。现实世界是由很多独立的抽象或具体物体组成的,比如房子、汽车、空调、书等等。为了构建更真实的虚拟世界,在软件中需要存在用于表达类似现实物体的编程元素,这正是引入对象概念的意义所在。
?
以对象为设计中心,迫使设计者在关注程序所需实现功能的同时不至于忘记通过抽象去塑造概念,以便用对象表达之。由于抽象获得的对象有助于隐藏复杂度,这在一定程度上简化了通过对象表达和理解软件虚拟世界的难度。也由于对象的存在,使得设计更加的生动和具有更强的自我解释能力。
?
从软件设计者的角度:如果希望塑造的对象在现实生活中存在,这有助于他借助现实引导自己的设计,他也应尽量将虚拟世界中对象的行为塑造成与现实世界的相近;如果希望塑造的对象在现实生活中并不存在,他只能借助对象的行为和状态去塑造对象(的概念),此时应注意行为、状态与概念间关系的合理性,否则所塑造的对象将令人费解。
?
从软件维护者的角度:如果对象在现实生活中存在,这有助于他借助生活经验快速掌握设计;如果在现实中找不到对象的影子,他仍可以通过对象的行为掌握对象的概念,这同样有助于他更方便地维护软件。
?
其次,面象对象设计由于强调以对象为中心,因而具备更强的封装能力。在大多支持面向对象设计的编程语言中,更强的封装能力除了意味着更具信息隐藏能力外,还使得封装的边界既明显又更不易被突破,这有助于在软件的维护过程中维持“形”。某种程度上,面向对象设计强化了软件行业推崇的模块化设计。
?
再次,面向对象设计中的继承和多态技术除了进一步提高通过软件模拟现实世界的能力外,还能让设计更灵活、易变更和方便复用。
面向对象多态:
多态是类型理论的一个概念。
意思是:
一个名字可以代表许多不同的对象,只要这些对象都有共同的父类,这样这个名字代表的不同对象就可以以不同的方式来响应同一消息。
多态表现出多种形式的能力。通用多态引用有相同结构类型的大量对象,他们有着共同的特征。特定的多态涉及的是小部分没有相同特征的对象。四种多态可做以下描述:
强制的:一种隐式做类型转换的方法。 重载的:将一个标志符用作多个意义。
参数的:为不同类型的参数提供相同的操作。
包含的:类包含关系的抽象操作。public abstract class Animal {
public abstract void cry();
public abstract String getAnimalName();
}
public class Simulator {
public void playSound(Animal animal){
System.out.println(我是+animal.getAnimalName());
System.out.println(我的叫声是:);
animal.cry(); }
}
public class Dog extends Animal{
public void cry(){
System.out.println(汪、汪、汪);
}
public String getAnimalName(){
return 小狗; }
}
public class Cat extends Animal{
public void cry(){
System.out.println(喵、喵、喵);
}
public String getAnimalName(){
return 小猫; }
}
public class Test {
public static void main(String[] args) {
Simulator simulator=ne
您可能关注的文档
最近下载
- 新质生产力赋能云南高原特色现代农业高质量发展的路径研究.docx VIP
- 博世:以文化为基因,提升领导力 – 博世高潜人才发展与教练文化.pdf VIP
- 儿童发育性协调障碍的筛查、评估和诊断指南(2025).pptx VIP
- GBT 29611-2013 生橡胶 玻璃化转变温度的测定 差示扫描量热法(DSC).pdf
- NB_T 20160-2021 压水堆核电厂不锈钢水池覆面施工技术规程.pdf VIP
- 2025党校入党积极分子发展对象考试题库(含答案).docx VIP
- (电厂)三级安全教育考试题(附含答案).docx VIP
- 施工现场平面布置及施工道路平面图.pdf VIP
- 2015办公用品采购表申请表做办公用品采购流程.doc VIP
- 例谈基于语篇分析的中学英语阅读教学设计.pdf VIP
原创力文档


文档评论(0)