对JAVA的一些个人总结——面向对象

来源:互联网 发布:linux无法删除文件夹 编辑:程序博客网 时间:2024/06/05 05:20

    学习安卓开发有一定时间了,越来越感觉有一个好的JAVA基础是一件很重要的事情,不论是在开发中,还是在面试中。所以在这里记录一下个人觉得JAVA基础中比较重要的部分。

    一、面向对象的概念:

     面向对象是JAVA中非常重要的一个概念,可以说理解了何为对象之后,对于一些代码与功能的实现就能有比较深刻的理解了。在现实生活中,任何一个有生命或是没有生命的实体都可以用对象来表示,比方说每个人、每张桌子、每幅画等,这些个体都有属于他自身的一些属性(比如说人的身高、年龄,桌子的形状、重量,画的颜色、尺寸等等)以及行为(比如人吃饭、睡觉、讲话等等),这些属性伴随着这个实体一起构成了一个实体的对象。接下来我们再来对这些对象进行一个抽象,抽象也就是指这个对象所拥有的的共性,比如说每个人的共性就是我们都是人类、不管方桌子还是圆桌子都是桌子,这样我们就有了类的概念——即类是对象的抽象。最后我们可以得到对象与类之间的关系,对象是类的实例,实例的抽象是类。

   二、面向对象的三大特性:

    我们都知道面向对象有三大特性,分别是封装、继承和多态,可以说这三大特性稳固了面向对象技术在如今的程序开发中的重要地位。

    1、封装:

    封装是面向对象的特征之一,是对象和类概念的主要特性,是指把客观存在的事物、实体封装成抽象的类,并且这些类可以把自己的数据和方法只允许可信的类或者对象操作,而对不可信的类和对象进行隐藏。在Java的类中用来定义成员的访问权限属性有四种:public, protected, <default>, private,这四种属性的访问权限等级依次降低。

    2、继承:

    面向对象编程语言的一个主要功能就是继承,它可以实现自身不但可以使用现有类的所有功能,并且在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类成为“子类”,被继承的类则被称为“父类”或“超类”,子类对于父类的关系应为“属于”的关系,比如说科学家、运动员都可以继承“person”类,因为不管身份有什么区别,他们都属于人类,但是腿、手掌是不能继承“person”类,因为他们只是人身体的组成部分但却不属于人类。子类可以继承自一个已经实现功能的父类,这样子类可以不用编写额外代码就可以直接使用父类的方法;子类同样也可以继承自一个抽象的接口,但是这样的的话子类只能使用父类的属性和方法的名称,子类必须要提供实现父类中声明的方法的能力。

    3、多态:

    多态是指可以将父类对象设置成为和一个或更多的子类对象相等的技术,允许不同类的对象对同一消息做出响应,即同一消息可以根据发送对象的不同而调用不同的函数方法。实现多态有两种方式:重载和覆盖。覆盖是指子类可以重新定义父类中的虚函数的这一做法,当子类重新定义了父类中的虚函数后,父类指针便可以根据赋给它的不同的子类指针,动态的调用属于子类的该函数。而重载是指允许存在多个同名的函数,但这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同),这样便可以实现在调用同一个函数方法时根据所传参数的类型、个数不同从而实现不同的功能。


    通过分析可以知道,封装可以隐藏实现的细节,使得代码模块化,继承则可以扩展已存在的代码模块,它们的目的都是为了代码的重用。而多态是为了实现接口的重用,因为多态可以保证类在继承和派生之后在使用其中任一一个类的实例的某一属性的时候能够正确的调用。

0 0
原创粉丝点击