2022年详解java面向对象的三大特性推荐 .pdf

上传人:Q****o 文档编号:30540277 上传时间:2022-08-06 格式:PDF 页数:4 大小:67.88KB
返回 下载 相关 举报
2022年详解java面向对象的三大特性推荐 .pdf_第1页
第1页 / 共4页
2022年详解java面向对象的三大特性推荐 .pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年详解java面向对象的三大特性推荐 .pdf》由会员分享,可在线阅读,更多相关《2022年详解java面向对象的三大特性推荐 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、详解 java面向对象编程的三大特性面向对象编程有很多种语言,用的比较多的是Java、 C#、C+,还有一些不是很常见的Smalltalk、Simula,虽然都是同一个思想,但是语法不一样,在一些细节方面还是有点不同的。我个人对 Java比较熟悉,所以下面我来详细解析Java的面向对象编程的三大特性。不 管 是 什 么 编 程 语 言 , 只 要 是 它 的 设 计 思 想 是 面 向 对 象 (Object Oriented Programming,OOP)的都具备三个特性。即封装、继承、多态。要理解这三个特性。首先得了解面向对象的一些基础知识。面向对象有两个很重要的概念,这两个是必须要掌握

2、的。那就是对象(object)和类(class) 。对象是具体的人或物。比如公交车就是一个具体的对象。类就是对具有相同或相似的对象的集合。比如说车就是一个类,它集合了公交车、小轿车、火车等各种车。好了,有了这些基本概念之后,才能够理解这三大特性。我觉得继承( extends)是最容易理解的。它表达的是“is-A”的关系。其实继承跟现实生活中的继承都差不多的,比如说如果父亲去世了,儿子就可以继承他的财产。在Java 中只有类和类才有可能会发生继承关系。如果一个类继承了另一个类,被继承的类就是 “父类”,继承的那个类就叫做“子类”,子类只能有一个父类,这个我们现实生活很相似的,一个儿子只能有一个父

3、亲。如果一个类继承了另一个类就具有父类的全部属性和方法(除了 private之外) 。下面我用代码来说明继承:class Person String name; Int age; private int code;/private权限不能被子类继承public void eat() System.out.println( “ 人都具备吃饭的功能!” ); class Student extends Person/ Student 类继承了 Person 类,也就是学生继承了人 float score; public void studying() System.out.println( “ 学

4、生具备学习的功能” ); / 但是不能访问private 权限的属性和方法,下面试图访问code 属性将会出错/code=123; 继承的好处就是,如果一个子类继承了父类,他就可以拥有父类的所有属性和方法(除了private 权限之外),而且还可以扩展父类的方法和增加自己的属性。继承的出现弥补了父类的不足,扩展了父类的原有方法。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 封装( encapsulation)指的是将对象状态信

5、息隐藏在对象内部,不允许外部程序直接访问对象内部信息, 而是通过该类所提供的方法来实现对内部信息的操作和访问。下面用代码解释。class Man / 对属性封装,姓名,年龄,妻子的姓名都不对外公布,都是私有的private String name; private int age; private String wifename; public String getName() Return name; public int getAge() Return age; public void setAge(int age) This.age=age; public void setName(St

6、ring name) This.name=name; private void f() 对方法的封装 / 私有方法,只能在本类中被访问,私有属性也如此 其实封装的概念不仅此而已。类就是一个封装体,它封装了对象。 包也是一个封装体,它封装了类。 把封装的概念扩大化,框架就是对包的封装。为什么要出现封装呢?因为有一些成员变量 (field) 是不能够随意更改的,而且有些东西只要你知道怎么用就行了,没有必要关心那么多的细节。比如说,你想买电脑,你有必要去知道电脑怎么做出来的吗?最后一个就是多态了。我觉得不是那么的容易理解和掌握。对多态的理解: 允许子类的对象被看作父类对象使用,而父类对象可以根据赋值

7、的不同动态选择不同的方式运作。简单的说,就是事物具备多种形态。看下代码。class Human public void eat() System.out.println( 人都会吃饭的 ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - class Student extends Human public void eat() System.out.println( 学生吃饭 ); public void study() Sy

8、stem.out.println( 学生学习 ); public class TuoTaiDemo public static void main(String args) /s 对象编译时是 Human类型,但是运行时却是Student类型的Human s=new Student();/ 向上转型s.eat();/ 所以此处调用的是Student的eat()方法Student c=(Student)s;/ 向下转型c.study();/ 向下转型 多态要具备有这些条件:有继承关系而且类和类之间要有覆盖关系。上面介绍的就是多态的雏形。多态的作用就是更易于扩展。下面来看一个情景。最初的电脑主板,

9、功能很简单,接口就只有网卡而已(这里只是假设而已),并没有声卡。现在想播放音乐,于是就想到了要扩展一个声卡的接口。interface PCI public void open(); public void close(); class MainBoard public void run() System.out.println(MainBorad run); public void usePCI(PCI p) if(p!=null) p.open(); p.close(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精

10、心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - class NetCard implements PCI public void open() System.out.println(NetCard Open); public void close() System.out.println(NetCard close); class SoundCard implements PCI public void open() System.out.println(SoundCard Open); public void close() System.ou

11、t.println(SoundCard close); public class TuoTaiDemo public static void main(String args) MainBoard mb=new MainBoard(); mb.run(); /PCI p=new NetCard(); 这就是多态,只是这里换成了接口而已mb.usePCI(new NetCard(); / 下面的这个同理mb.usePCI(new SoundCard(); 由此可以看出多态的作用。好了,我的总结就到此。以上信息来自“ E网情深” QQ空间。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁