您的位置:首页 > 其它

面向对象的继承性和多态性

2015-09-14 21:02 211 查看

一.继承性

         继承是面向对象的一个重要的特性,继承性反映的是两个类之间的一种关系。在面向对象的程序设计中,根据已有类派生出新类的这种现象,我们称之为类的继承机制。既当一个类具有另一个类的所有方法和属性时,我们称之为前者继承了后者,这两个类具有继承关系。被继承的类我们通常称为父类或者基类,而继承父类所有属性和方法的类为子类或派生类。

         继承是面向对象编程设计能够提高软件开发效率的重要的原因之一。一个类可以同时派生出多个子类,而这些子类都自动地、隐式的拥有其父类已经定义的属性和行为。这种父类和子类的继承关系,其实就是事物的一般性和特征性的关系,而这种关系恰恰符合了人们对客观事物的认识过程和思维方式。

        Java语言中只支持单继承,即一个子类只继承一个父类。这具有重要的地实际意义。它简化了人们对事物的认识和描述。面向对象程序设计中的继承性是对客观世界的直接反映。通过类的继承能够实现对问题的深入抽象描述,反映了人们认识世界的发展过程。

        继承是通过关键字extends来实现的。

下面是关于继承的例子:

    public class A {

      String s="我是A类!!!";

      public void showA() {

      System.out.println(s);

   }

}

    //创建一个B类,B继承与A

    public class B  extends A{

     String s1="我是B类!!!";

    public void showB(){

    System.out.println(s1);

  }

   public static void main(String[] args) {

   B s1=new B();

   s1.showB();

   s1.showA();

  }

}

二.多态

        面向对象的另一重要特性:多态。多态是指应用程序中出现的“重名”现象。多态中允许以统一的风格编写程序,已处理种类繁多的已存在的类及其相关类。这样既降低了维护的难度,又节省了时间 。

        在Java语言中,多态性主要表现在以下几个方面:

        1.方法重载。方法重载通常是指在同一个类中,相同的方法名对应着不同的方法实现,这些 相同方法名的方法其区别在于方法所需要的参数不同。即采用不同的方法形参表,区分重载方法要求形参在数据类型、个数和顺序不同。

    方法重载的例子:

public class TestPolymorphism1 {

         Sring s="这是方法重载的示例";

         String ss="这是类TestPolymorphism1";

         public void show(){

                System.out.println(ss);

         }

         public void show(String str){

                System.out.println(s);

}

 public static void main(String[] args) {

  TestPolymorphism1 test=new TestPolymorphism1();

  test.show();

  test.show(test.s);

 }

}

2.方法重写。方法重写主要应用与父类和子类之间。子类重写父类的方法,只是对应得方法实现不同,其方法名与所需的参数都相同。

    方法重写的例子:

//定义类TestPolymorphism1,让其继承于类A;

public class TestPolymorphism2 extends A {

 String p="这是方法重写的示例!!!";

 public void showA() {

  super.showA(); 

  System.out.println(p);

 }

 public static void main(String[] args) {

  TestPolymorphism2 test=new TestPolymorphism2();

  test.showA();

 }

}

3.抽象类。在Java中,一个类中的方法只给出了标准,而没有给出具体的实施流程,这样的类称为抽象类。抽象类是不能被实例化对象的。父类往往会被定义成抽象类。只给出标准而没有给出具体实施方法成为抽象方法。

4.接口。在多态机制中,接口比抽象类使用起来更为方便。由抽象方法组成的集合就是接口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: