博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象的三大特征
阅读量:4109 次
发布时间:2019-05-25

本文共 943 字,大约阅读时间需要 3 分钟。

        大学就学过面向对象的课程,但直到现在才考虑如何在我的项目中运行这些面向对象的思想。语言的细节其实不那么重要,重要的是思想的框架,具体而言就是面向对象的三大特征:封装、继承和多态。

封装

        封装,是对象和类概念的主要特性。封装是把过程和数据包裹起来,对数据的访问只能通过已定义的接口。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一些受保护的接口访问其他对象。一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。

        在封装阶段定义对象的接口。通常,应禁止直接访问一个对象的实际表示,而应通过操作接口访问对象,这称为信息隐藏。事实上,信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。

继承

        继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。这也体现了大自然中一般与特殊的关系。继承性很好的解决了软件的可重用性问题。比如说,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。

多态

        多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

小结

        封装可以实现隐藏细节,实现代码的模块化。继承可以扩展已经存在的代码模块(类)。这两者的目的都是为了代码重用。

        多态则是为了实现接口重用。

转载地址:http://eptsi.baihongyu.com/

你可能感兴趣的文章
Nutch简介(转1)
查看>>
Nutch简介(转2)
查看>>
Nutch简介(转3)
查看>>
Nutch简介(转4)(CommonCrawl)
查看>>
Nutch简介(转5)(Apache Nutch Tutorial 1.x)
查看>>
Java与C语言中的命令行参数获取
查看>>
Java中的Zip文件操作
查看>>
一个简单的工作者线程实现
查看>>
Maven使用(一)
查看>>
Spring基本使用(元素lookup-method使用)
查看>>
Spring基本使用(元素replaced-method使用)
查看>>
Spring基本使用(消息源MessageSource的使用/国际化)
查看>>
问题:使用jdbc时,resultSet始终不能获取第一行数据
查看>>
问题:使用Spring,当从容器获取bean时,要尤其注意Spring对bean的生命周期的自动管理
查看>>
使用Eclipse创建Maven-Java Web项目
查看>>
SLF4J用户手册(官网截图)
查看>>
Jetty-9.4.18 配置SSL(以及获取/使用阿里云免费SSL证书)
查看>>
Jetty使用的基本命令
查看>>
Mybatis基本使用(一)
查看>>
LDS文件格式简单用法备注
查看>>