b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

java中多态举例_oop 多态_封装继承多态

电脑杂谈  发布时间:2017-01-14 14:15:36  来源:网络整理

这是道基础中见思想的面试题,面试官爱问这个问题。不过关于OOP三个核心众多书籍似乎莫衷一是。《Java编程思想》第7章谈到多态的开篇语便是:除了数据的抽象化(data abstraction)与继承(Inheritance)以外,面向对象编程语言的第三个核心本质便是多态(ploymorphism)。另有参考书把封装(wrap)、重载(overload)也归为OOP的特性。以上几点点确实都应算做OOP的特性,但是无论怎么组合我想多态是少不了的,如果语言不支持多态,就不能称之为面向对象的。有的语言只支持类而不支持多态,如Ada、VB,我们称它们为基于对象的语言。有人总结说:封装是优点,继承是基础,重载是特点,而多态是特征。

(1)什么是多态

多态是一种性质,应为多态性。最直白的理解就是:在程序运行时,根据类的对象来确定调用哪个函数。但是多态的意义不仅限于此,多态的意义更在于:子类型别向上转型为基类型别,从而通过一个公共函数来执行这些类中相同的方法。在C#中通过virtual和abstract来实现,在Java中省掉了virtual。下面是引举的《Java编程思想》第7章中关于多态的一个例子:

//:Musi.java

//Abstract classes and methods

Import java.util.*;

abstract classInstrument4{

inti; //storage allocated for each

public abstract void play();

public String what(){

return "Instrument4";

}

public abstract void adjust();

}

ClassWind4 extends Instrument4{

public void play(){

System.out.println("Wind4.play()");

}

public String what(){return"Wind4";}

public void adjust(){}

}

ClassPercussion4 extends Instrument4{

public void play(){

System.out.println("Percussion4.play()");

}

public String what(){return"Percussion4";}

public void adjust(){}

}

ClassStringed4 extends Instrument4{

public void play(){

System.out.println("Stringed4.play()");

}

public String what(){return"Stringed4";}

public void adjust(){}

}

ClassBrass4 extendsWind4{

public void play(){

System.out.println("Brass4.play()");

}

public void adjust(){

System.out.println("Brass4.adjust()");

}

}

class Woodwind4 extendsWind4{

public void play(){


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-26262-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...