面向对象基础知识

2017-03-07  本文已影响63人  谢谢生活

我们学习Java语言必须要掌握对象和类,这样的话就可以更深层次的理解JAVA这种面向对象的程序开发理念,从而更好更快地掌握JAVA的变成 思想和方法。掌握类和对象是JAVA语言变成的基础。那么,问题来了,到底什么是对象和类呢?

一:对象

关于对象的理解其实非常简单。在我们的身边,每一种事物都是一种对象,统筹一句话概括就是,对象是事物存在的实体。例如:电视、汽车、 书桌、楼房包括我们人类自身都是一种对象。对象的话又划分为两种,即静态和动态两部分。静态:顾名思义,指的就是不能动的部分。就拿我们自 身来说,每个人的你年龄、性别、身高、体重等都属于静态。而这些特征都可概括为属性,所有的对象都具备属性。动态:即具备这些属性的人可能 做出的行为和动作(微笑、哭泣、行走、奔跑等)。人类通过探讨对象的属性和观察对象的行为来了解对象。

二:类

简单概括,类是封装对象属性和行为的载体,反过来说具有相同属性和行为的一类实体被成为类。举一个简单的例子,鸟类。鸟类封装了所有鸟 的具体属性(嘴、翅膀、爪子)和具有的行为(飞行、捕食)。这样说,相信大家都能理解。说到对象,不得不重点提一下对象的三个基本特征: 封装、继承、多态。

三:封装

四:继承(extends)

五:多态

概念:同一消息可以根据发送对象的不同而采用多种不同的行为方式,根据其实际类型调用其相应的方法。

实现方式:

(1)基于继承实现的多态

基于继承的实现机制主要表现在父类和继承该父类的一个或多个子类对某些方法的重写,多个子类对同一方法的重写可以表现出不同的行为。

(2)基于借口实现的多态

继承是通过重写父类的同一方法的几个不同子类来体现的,那么就是通过实现接口,覆盖接口中同一方法中不同的类来体现的。在接口的多态 中,指向接口的引用必须是指定实现了该接口的一个类的实例程序。在运行时,根据对象引用的实际类型来执行对应的方法。继承都是单继承,只能 为 一组相关的类提供一直的服务接口,但是接口可以是多继承多实现,它能够利用一组相关或者不相关的接口进行组合与扩充,能够对外提供一致的 服 务接口。所以它相对于继承来说有更好的灵活性。

好处:程序的可扩展性及可维护性增强。

六: 总结


  1. 封装是为了对物与外界交流进行抽象。
  2. 继承是为了对物的信息进行抽象。
  3. 多态是为了对物的行为进行抽象。

说到这里,给大家稍微扩展一下关于抽象和接口一些相关信息。

(1)抽象(abstract)

   例如:publicabstract
    void xuesheng ();

(2) 接口(interface)

概念:把原有的事物与功能增强,在不改变类方法的前提下,进一步进行功能扩展。

public interface Interface{
   static final int i;  //接口中不能有普通数据成员,只能够有静态的不能被修改的数据成员,static表示全局,final表示不可修改,可以不用static  final 修饰,会隐式的声明为static和final
   public void xuesheng1();  //接口中的方法一定是抽象方法,所以不用abstract修饰
   public void xuesheng2();  //接口中不能赋予方法的默认行为,即不能有方法的具体实现
}

总而言之,抽象类是一种功能不全的类,接口只是一个抽象方法声明和静态不能被修改的数据的集合,两者都不能被实例化。从某种意义上说,接口是一种特殊形式的抽象类,在JAVA语言中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。在许多情况下,接口确实可以代替抽象类,前提是你不需要刻意表达属性上的继承的话。

上一篇 下一篇

猜你喜欢

热点阅读