
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习达内Java编程开发的相关技术知识,而本文我们就通过案例分析来简单了解一下,面向对象编程需要掌握哪些知识点。
一、面向对象编程基础
面向对象编程(ObjectOrientedProgramming,OOP)是一种编程范式或编程风格,它以类或对象作为组织代码的基本单元,并以封装、继承、多态这三个特性作为代码设计和实现的基石。
面向对象的类是描述了一组有相同特征(属性)和相同行为(方法)的一组对象的集合;对象是类的一个实例,拥有自己的状态和行为。
面向对象编程语言
面向对象编程语言(ObjectOrientedProgrammingLanguage,OOPL)是支持以类或对象的语法机制,并有现成的语法机制,能方便地实现面向对象编程的三大特性(封装、继承、多态)的编程语言。
面向对象编程设计和分析
面向对象分析(ObjectOrientedAnalysis,OOA)就是要搞清楚是什么、为什么要做。
面向对象设计(ObjectOrientedDesign,OOD)就是要搞清楚由谁来做、什么时候做、在哪里做、怎么做、做到怎样的程度。
设计和分析就是一个将想法付诸于实际的过程,因此,其中的每一步都非常重要,影响到程序这项工程的维护。
面向对象的优点
面向对象程序设计有以下优点:
可重用性:代码重复可用,减少代码量,提高开发效率
可扩展性:新的功能可以很容易地加入到系统中来,便于软件的修改
可管理性:能够将功能和数据结合,方便管理
二、核心特性
封装
封装的含义
封装也叫作信息隐藏或数据访问保护。详细地说,就是数据被保护在抽象数据类型的内部,尽可能对外隐藏内部的细节,只保留一些统一的方法供外部使用。
比如说,对于一个钱包类,里面有余额、币种这两个属性,通常是不允许外部直接更新余额或者直接更新币种,而是仿照现实交易的找补零钱的方式,对外提供一个找补零钱的方法,在这个方法中根据提供的参数来更新余额和币种,这样可以保证数据的一致性。
封装的优点
封装具有以下优点:
提高了代码的安全性,阻止外部随意修改,避免造成数据不一致
提高了代码的易用性,简化外部调用,便于扩展和协作
提高了代码的可维护性,封装内部细节,方便修改内部代码
继承
继承的含义
继承指的是子类拥有父类的全部特征和行为,用来表示类之间is-A的关系。
比如说,汽车是一种交通工具,汽车会有交通工具的一些特性和功能,交通工具狭义上指一切人造的用于人类代步或运输的装置,汽车就属于这类工具中的一种。
单继承和多继承
从继承的多向性来讲,继承可分为两种模式:单继承和多继承。
单继承表示一个子类只能继承一个父类,多继承表示一个子类可以继承多个父类。从现实世界的角度上看,多继承更符合现实,比如说,猫既是哺乳动物,又是爬行动物。
但是,从软件开发的角度上看,单继承的优点在于层次结构清晰,设计上更容易把握;多继承可以让子类具备多个父类的特征,拥有更丰富的方法,但是多继承会出现菱形继承的问题。
简单地理解菱形继承就是,假设子类B和子类C都继承自父类A,且都重写了父类A中的方法func,而孙子类D同时继承了子类B和子类C,对于方法func而言,孙子类D会出现歧义。
继承的优缺点
继承大的好处就是代码复用,子类可以直接重用父类中的代码,避免代码重复写多遍。
但是过度地使用继承会导致代码可读性、可维护性变差,有可能出现“父类、父类的父类……”的代码。
通常,可以在层次简单、关系不复杂的时候使用继承,反之使用组合代替继承。
多态
多态的含义
多态指的是为不同数据类型的实体提供统一的接口,或使用一个单一的符号来表示多个不同的类型。
通过继承实现
多态可以通过继承的方式实现,子类继承父类之后,并重写了父类的方法,在初始化子类的对象时,可以将对象定义为父类的数据类型,这时的对象调用的会是重写后的子类方法。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。