精华内容
下载资源
问答
  • java什么是多态性

    2021-02-27 12:42:44
    1. 如果a是A的一个引用,那么,a可以指向A的一个实例,或者说指向A的一个子类。...引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值...

    1. 如果a是类A的一个引用,那么,a可以指向类A的一个实例,或者说指向类A的一个子类。

    2. 如果a是接口A的一个引用,那么,a必须指向实现了接口A的一个类的实例。

    多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(摘自“Delphi4 编程技术内幕”)。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在Object Pascal和C++中都是通过虚函数(Virtual Function) 实现的。

    多态指同一个实体同时具有多种形式。它是面向对象程序设计(OOD)的一个重要特征。如果一个语言只支持类而不支多态,只能说明它是基于对象的,而不是面向对象的。C++中的多态性具体体现在运行和编译两个方面。运行时多态是动态多态,其具体引用的对象在运行时才能确定。编译时多态是静态多态,在编译时就可以确定对象使用的形式。

    C++中,实现多态有以下方法:虚函数,抽象类,重载,覆盖

    java多态的实现主要体现在哪些方面

    多态可分为:

    1.编译多态:主要是体现在重载,系统在编译时就能确定调用重载函数的哪个版本。

    2.运行多态:主要体现在OO设计的继承性上,子类的对象也是父类的对象,即上溯造型,所以子类对象可以作为父类对象使用,父类的对象变量可以指向子类对象。因此通过一个父类发出的方法调用可能执行的是方法在父类中的实现,也可能是某个子类中的实现,它是由运行时刻具体的对象类型决定的。

    展开全文
  • 【简答题】【选题】非经胃肠道给药的剂型是:【选题】除另有规定... (4.0分)【简答题】【选题】易水解的药物宜制成:【单选题】【其它】现有Shape的声明: public class Shape{ public double getArea(){ retur...

    【简答题】

    【多选题】非经胃肠道给药的剂型是:

    【多选题】除另有规定外,用药材比量法控制浸出制剂浓度的是:

    【判断题】

    【填空题】Java中规定,对于重写的方法,Java根据调用该方法的 来决定选择哪个方法。 (4.0分)

    【简答题】

    【多选题】易水解的药物宜制成:

    【单选题】

    【其它】现有Shape类的声明: public class Shape{ public double getArea(){ return 0; } } (1)定义Shape类的子类圆类Circle,圆类中有私有成员变量半径(float类型),用于初始化半径的带一个参数的构造方法,和用于返回圆面积的getArea()重写方法。 (2)定义Shape类的子类矩形类Rectangle,矩形类中有 私有成员变量长和宽(均为float类型),用于初始化长和宽的带两个参数的构造方法,和用于返回矩形面积的getArea()重写方法。 (3)main()主方法如下: public static void main(String[] args){ Shape shape = new Shape(); System.out.println(shape.getArea()); shape = new Circle(1.0f); System.out.println(shape.getArea()); shape = new Rectangle(4.0f, 3.0f) System.out.println(shape.getArea()); } 请写出其运行结果。 (30.0分)

    【简答题】1.什么是外光电效应?根据光电效应可以制成哪些光电转换器件?

    【简答题】

    【其它】定义复数类 Complex,属性有实部real和虚部image,方法有:(1)getReal()/setReal(),分别表示取得/设置实部值; (2) getI mage ()/setI mage (),分别表示 取得/设置虚部值;(3)无参构造函数,实部虚部的值均为0;(4)带2个参数的构造方法,分别给实部虚部赋值;(5)ToString()函数,返回形如(a,bi)的字符串,其中a表示实部值,b表示虚部值;(6)主函数main,在主函数中分别定义两个复数类的对象c1、c2,其中c1为(3,-2i),c2为(4,3i);分别调用ToString()函数进行输出。

    【其它】(1)定义 Calculate计算接口,该接口中包含有数据成员PI=3.14,成员方法有计算面积getArea()、计算周长getPerimeter(),方法的返回值均为double。 (2)定义圆类Circle并实现接口 Calculate ;私有成员变量有double类型的半径radius;公有的带参构造方法,其参数是用于初始化半径。 (3)定义矩形类Rectangle并实现接口 Calculate ;私有成员变量有 double类型的 长length和 double类型的 宽width ;公有的 构造方法,其参数用于初始化长和宽。 (4)编写测试类Test,在该类的main主方法中,测试圆形类和矩形类。 (5)扩展题: 测试类Test中,有一个 printInfo ()方法,其定义如下: public void printInfo( Calculate c ){ System.out.println("面积为"+c.getArea()+",周长为"+c.getPerimeter()); } 请在主方法中尝试调用该 printInfo()方法,来实现多态。

    【填空题】运行多态是由 和 引起的。 (4.0分)

    【单选题】

    【简答题】p166 T5(题号为奇数的) p173 T1(1-16)

    【简答题】求下列函数的二阶导函数

    【多选题】关于热原性质的叙述正确的是:

    【简答题】P174 T1(18—36)

    【简答题】

    【简答题】

    【填空题】在程序编译过程中体现出的多态性如 。尽管方法名相同,但由于参数不同,在调用时系统根据 的不同确定被调用的方法。 (4.0分)

    【判断题】

    【多选题】引起乳剂破裂的原因是:

    【填空题】Java的多态性体现在两个方面: 和 。 (4.0分)

    【单选题】

    【单选题】

    【单选题】

    【多选题】能彻底破坏热原的条件是:

    【单选题】

    【判断题】

    【多选题】延缓主药氧化的附加剂有:

    【其它】定义学生类 Student,数据成员有学号、姓名、年龄;成员方法有取得/设置学号、取得/设置姓名、取得/设置年龄。

    【多选题】药物剂型的重要性体现在剂型可以:

    【其它】请在原有的学生类Student基础上(原来的实验:“类的定义20190321 ”),编写它的子类Undergraduate大学生类。 Undergraduate类除了拥有父类的属性和方法外,还拥有新增的保护属性:系别department、专业major;以及新增的公有方法:设置系别、获取系别、设置专业、获取专业。

    【多选题】下列属外用膏剂的是:

    【单选题】

    【判断题】

    【多选题】下列有关软膏剂、乳膏剂基质的叙述,正确的是:

    【其它】定义一个时钟类( Clock),数据有时 hour(0-23)、分minute(0-59)、秒second(0-59),方法有取得/设置时、 取得/设置 分、 取得/设置 秒。

    【其它】定义复数类 Complex,属性有实部real和虚部image,方法有:(1)getReal()/setReal(),分别表示取得/设置实部值; (2) getI mage ()/setI mage (),分别表示 取得/设置虚部值。

    【判断题】

    【单选题】

    【单选题】

    【多选题】注射剂质量控制指标包括:

    【填空题】class Base { public Base() { int i = 100; System.out.println(i); } } public class Pri extends Base { static int i = 200; public static void main(String argv[]) { Pri p = new Pri(); System.out.println(i); } } 上述代码的运行结果是 。 (4.0分)

    【简答题】

    【其它】学校规定,与其它相关单位之间的信件来往需以“挂号信”和“特快专递”方式进行。根据其他相关单位的地址和信件重量,查询得知邮局中关于“挂号信”和“特快专递”的相关邮费标准如下表所示: 请根据上述情况,编写一个Java application应用程序,并实现以下要求: 定义一个LetterDetail类,用于描述信件的相关信息,包含私有成员变量收件人姓名、收件人地址、寄件人姓名、寄件人地址、寄件方式(挂号信或特快专递)、信件重量;公有方法无参构造函数、带参构造函数、所有成员变量对应的设置/获取方法和toString方法。 请注意:寄件人地址需定义为类成员变量,其初始值为“福建省南安市康美镇康元路8号”。 本题的主函数如下: public static void main(String[] args) { LetterDetail ld = new LetterDetail("李豪侑","山东省济南市","闽科","挂号信",24.0f); System.out.println(ld.toString()); } 其执行结果为: 收件人:姓名 李豪侑, 地址 山东省济南市 寄件人:姓名 闽科, 地址 福建省南安市康美镇康元路8号 寄件方式:挂号信, 重量 24.0g

    【单选题】

    【简答题】P174 第2题

    展开全文
  • 文件有多种形态:文件、文本文件、可执行文件二 多态性(1)什么是多态性(注意:多态与多态性种概念)多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。在面向对象...

    9396140b82ae459b5b5090913d7e9b90.png

    c744ddccdeb23dff3a3c0513e435c23c.png

    文件有多种形态:文件、文本文件、可执行文件

    c73a7c321cf4fd6e0fb688a03ad61fec.png

    二 多态性

    (1)什么是多态性(注意:多态与多态性是两种概念)

    多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。在面向对象方法中一般是这样表述多态性:向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(即方法)。也就是说,每个对象可以用自己的方式去响应共同的消息。所谓消息,就是调用函数,不同的行为就是指不同的实现,即执行不同的函数。

    067eca594d0804fe8079a961bf689d80.png

    16f3fed18b995ca6070a14d498995cd3.png

    a194bfafd2ebced5a8d8a0bd55d9d36f.png

    5b01244ec8c09b243b44b744d193ae81.png

    综上可以说,多态性是一个接口(函数func),多种实现(如f.click())

    二、为什么要用多态性(多态性的好处)

    其实大家从上面多态性的例子可以看出,我们并没有增加上面新的知识,也就是说Python本身就是支持多态性的,这么做的好处是什么呢?

    (1)增加了程序的灵活性

    以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(animal)

    (2)增加了程序额可扩展性

    通过继承animal类创建了一个新的类,使用者无需更改自己的代码,还是用func(animal)去调用

    e38a1b5f32d4d78f0011b778a4c03293.png

    注:

    多态:同一种事物的多种形态,动物分为人类,猪类(在定义角度) 多态性:一种调用方式,不同的执行效果(多态性)

    展开全文
  • java多态性多态分种:(1) 编译时多态(设计时多态):方法重载。(2) 运行时多态:JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称为运行时多态。(我们平时说得多的事运行时多态,所以多态...

    java多态性

    多态分两种:

    (1)   编译时多态(设计时多态):方法重载。

    (2)   运行时多态:JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称为运行时多态。(我们平时说得多的事运行时多态,所以多态主要也是指运行时多态)

    运行时多态存在的三个必要条件:

    一、要有继承(包括接口的实现);

    二、要有重写;

    三、父类引用指向子类对象。

    多态的好处:

    1.可替换性(substitutability)。多态对已存在代码具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。

    2.可扩充性(extensibility)。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。

    3.接口性(interface-ability)。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。如图8.3 所示。图中超类Shape规定了两个实现多态的接口方法,computeArea()以及computeVolume()。子类,如Circle和Sphere为了实现多态,完善或者覆盖这两个接口方法。

    4.灵活性(flexibility)。它在应用中体现了灵活多样的操作,提高了使用效率。

    5.简化性(simplicity)。多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。

    注意:优先级从高到低:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)。

    相关面试题:

    class A {

    public String show(D obj)...{

    return ("A and D");

    }

    public String show(A obj)...{

    return ("A and A");

    }

    }

    class B extends A{

    public String show(B obj)...{

    return ("B and B");

    }

    public String show(A obj)...{

    return ("B and A");

    }

    }

    class C extends B...{}

    class D extends B...{}

    (二)问题:以下输出结果是什么?

    A a1 = new A();

    A a2 = new B();

    B b = new B();

    C c = new C();

    D d = new D();

    System.out.println(a1.show(b));   ①

    System.out.println(a1.show(c));   ②

    System.out.println(a1.show(d));   ③

    System.out.println(a2.show(b));   ④

    System.out.println(a2.show(c));   ⑤

    System.out.println(a2.show(d));   ⑥

    System.out.println(b.show(b));     ⑦

    System.out.println(b.show(c));     ⑧

    System.out.println(b.show(d));     ⑨

    (三)答案

    ①   A and A

    ②   A and A

    ③   A and D

    ④   B and A

    ⑤   B and A

    ⑥   A and D

    ⑦   B and B

    ⑧   B and B

    ⑨   A and D

    分析:

    做这种题的话要时时刻刻使用那个优先级顺序:

    对于第一题:

    a1是A类的一个实例化对象,所以this指向A,然后查找this.show(b),由于没有这个方法,所以到super.show(b),但是由于A类没有超类了,所以到this.show(super b),由于b的超类是A,所以相当于this.show(A),然后在A类中查找到了这个方法,于是输出A and A。

    对于第二题:

    同样,a1是A类的实例化对象,所以this指向A,然后在A类中查找this.show(C)方法,由于没有这个方法,所以到了super.show(C),由于A类的超类里面找,但是A没有超类,所以到了this.show(super C),由于C的超类是B所以在A类里面查找this.show(B)方法,也没找到,然后B也有超类,就是A,所以查找this.show(A),找到了,于是输出A and A;

    对于第三题:

    同样,a1是A类的实例化对象,所以this指向A,然后在A类中找到this.show(D)方法,找到了,所以就输出A and D;

    对于第四题:

    a2是B类的引用对象,类型为A,所以this指向A类,然后在A类里面找this.show(B)方法,没有找到,所以到了super.show(B),由于A类没有超类,所以到了this.show(super B),B的超类是A,即super B = A,所以执行方法this。show(A),在A方法里面找show(A),找到了,但是由于a2是一个类B的引用对象,而B类里面覆盖了A类的show(A)方法,所以最终执行的是B类里面的show(A)方法,即输出B and A;

    对于第五题:

    a2是B类的引用对象,类型为A,所以this指向A类,然后在A类里面找this.show(C)方法,没有找到,所以到了super.show(C)方法,由于A类没有超类,所以到了this.show(super C),C的超类是B,所以在A类里面找show(B),同样没有找到,发现B还有超类,即A,所以还继续在A类里面找show(A)方法,找到了,但是由于a2是一个类B的引用对象,而B类里面覆盖了A类的show(A)方法,所以最终执行的是B类里面的show(A)方法,即输出B and A;

    对于第六题:

    a2是B类的引用对象,类型为A,所以this指向A类,然后在A类里面找this.show(D)方法,找到了,但是由于a2是一个类B的引用对象,所以在B类里面查找有没有覆盖show(D)方法,没有,所以执行的是A类里面的show(D)方法,即输出A and D;

    对于第七题:

    b是B类的一个实例化对象,首相执行this.show(B),在B类里面找show(B)方法,找到了,直接输出B and B;

    对于第八题:

    b是B类的一个实例化对象,首相执行this.show(C),在B类里面找show(C)方法,没有找到,所以到了super.show(c),B的超类是A,所以在A类中找show(C)方法,没有找到,于是到了this.show(super C),C的超类是B,所以在B类中找show(B)f方法,找到了,所以执行B类中的show(B)方法输出B and B;

    对于第九题:

    b是B类的一个实例化对象,首相执行this.show(D),在B类里面找show(D)方法,没有找到,于是到了super.show(D),B的超类是A类,所以在A类里面找show(D)方法,找到了,输出A and D;

    这是我看过网上的题目之后总结出来的方法,希望对大家有好处。

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    展开全文
  • Java编程—多态性

    2021-02-26 15:42:13
    8.5.3 多态性 多态性是面向对象技术中最灵活的特性,主要是增强项目的可扩展性,... 在这里把多态性分为两方面来进行介绍,对象类型的多态和对象方法的多态。 为了方便后续的讲解,首先给出一个继承结构的示例。 ...
  • 若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开:所谓多态就是指程序中定义的引用变量所指向的具体...
  • 多态性的优点多态性能够从一定程度上消除类型之间的耦合关系,通过统一接口方式,不同的对象可以直接替换,程序更加灵活,可扩展。面向对象多态性存在的三个必要条件继承重写父类引用指向子类对象多态性的实现方式...
  • 二、子类构造方法的限制子类在实例化的时候,默认先实例化父类对象,然后再实例化本对象;子类构造方法默认调用父类的无参构造方法;如果父类没有无参构造方法,子类的构造方法需要明确指定调用的父类构造方法。三...
  • 多态性

    2021-01-15 22:11:42
    多态性 多态性是发送消息给某个对象,让该对象自行决定响应何种行为。通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用 public class Test1 { public static void main(String[] args) { Fa cc=new ...
  • java 多态性

    2021-02-26 15:42:56
    引言:多态是指程序中定义的引用变量所指向的...因为在程序运行时才确定具体的,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码...
  • 多态性概述

    2021-05-20 19:17:32
    多态性多态性是面向对象程序设计的重要特性之一,从字面意思上可以简单理解就是:多种形态,多个样子。其实本质意思也是这样,在面向对象程序设计中,指同样的方法被不同对象执行时会有不同的执行效果。在具体来说,...
  • C 中的多态(虽然多态不是C 所特有的,但是C 中的多态确实是很特殊的)分为静多态和动多态(也就是静态绑定和动态绑定种现象),静动的区别主要在于这种绑定发生在编译期还是运行期,发生在编译期的是静态绑定,也就是...
  • 深入理解java多态性

    2021-03-05 15:09:39
    引言:多态是指程序中定义的引用变量所指向的...因为在程序运行时才确定具体的,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码...
  • 切记:不要将多态与多态性这二者混为一谈,只要分开,就会很明朗了。一、多态多态指的是一事物有多种形态,(一个抽象有多个子类,因而多态的概念依赖于继承)。比如:动物分为人类、狗、猪(在定义角度)import...
  • 多态分为两种:对象的多态性多态在代码中的体现间多态和内多态多态性类多态性方法的重写和重载方法的重写(覆盖)方法的重载多态的优点 sctatic 访问的方式 可以使用“类名.静态属性名”或者“对象名.静态...
  • 多态一般分为两种:重写式多态和重载式多态。 重载式多态,也叫编译时多态。也就是说这种多态再编译时已经确定好了。重载大家都知道,方法名相同而参数列表不同的一组方法就是重载。在调用这种重载的方法时,通过...
  • 多态性是指在不考虑实例类型的情况下使用实例,多态性分为静态多态性和动态多态性 静态多态性:如任何类型都可以用运算符+进行运算 动态多态性:如下 import abc class Animals(metaclass=abc.ABCMeta): @...
  • 和Java语言的封装性和继承性相比,多态性显得更加重要,而且不易掌握。多态作为面向对象(OO)中的核心机制之一拥有着丰富的内涵。多态性(PolymorPhism)一词来源于拉丁语Poly(表示多的意思)和morphos(意为形态),顾名思义...
  • C++ 虚函数与多态性

    2021-02-01 08:51:48
    1.2.2 用虚函数实现动态多态性的一般方法 在基类中定义虚函数 在派生中定于与基类虚函数同名、同参数、同返回类型的成员函数。在派生中重新实现基类中虚函数称为重写或覆盖。 1.2.3 虚函数特点 虚函数只能用于...
  • 一 多态:多态指的是一事物有多种形态,(一个抽象个子类,因而多态的概念依赖于继承)序列类型有多种形态:字符串,列表,元组动物有多种形态:人,狗,猪#多态:同一种事物的多种形态,动物分为人类,猪...
  • java - 多态性的好处

    2021-03-14 16:58:12
    java - 多态性的好处当我开始寻找多态性的好处时,我在这里找到了这个问题。 但在这里我无法找到答案。 让我告诉我想找到什么。 这里我有一些课程:class CoolingMachines{public void startMachine(){//No ...
  • 参考链接: Java中的加法和串联c++多态与java多态性Polymorphism is one of the core concepts of OOPS paradigm. The meaning of polymorphism is the condition of occurring in several different forms.多态是...
  • C++:多态性

    2021-06-08 19:40:57
    ●多态的实现类型 ●多态性实现的相关技术 ●虚函数的定义和使用 ●纯虚函数与抽象 ●函数重载和运算符重载
  • java的多态性

    2021-02-09 20:01:03
    java的多态性java多态性的使用方法多态的使用对象的多态性不适用于属性 文章内容选自尚硅谷 java多态性的使用方法 java的多态性的用法一般是父类的引用指向子类的对象,即在创建对象的时候,假如声明了变量p为A类型...
  • java方法的多态性理解

    2021-02-12 09:33:35
    一种我比较认同的说法如下:多态分为两种a. 编译时多态:方法的重载;b. 运行时多态:JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称为运行时多态。(我们平时说得的事运行时多态,所以...
  • JAVA面向对象的多态性

    2021-03-03 13:46:59
    而多态也分为静态多态(重载)、动态多态(重写)和动态绑定。静态动态,实际就是指的重载的概念,是系统在编译时,就能知晓该具体调用哪个方法。动态多态指在运行中才能动态的确定方法所指对象,动态多态的实现方式是...
  • 而多态只发生在父子之间,即子类继承父类的方法,但是又可以重写父类的方法,使得相同的方法在父类实例和子类实例中表现不同的行为,这一现象称为多态。 而ES6的class是可以实现多态吗? class Sup{ test(){ ...
  • 多态性与虚函数(一)1 多态性1.1 多态的概念1.2 多态的分类2 利用虚函数实现动态多态性2.1 虚函数的作用2.2 静态关联和动态关联2.3 虚函数的注意事项2.4 虚析构函数 1 多态性 1.1 多态的概念 多态性:向不同的对象...
  • Java——多态性

    2021-07-22 20:04:07
    Java多态性 多态是指父类中定义的方法被子继承之后,可以表现出不同的行为,这使得同一个方法在父类及其各个子类中具有不同的含义。 Java 实现多态有 3 个必要条件:继承、重写和向上转型。 继承:在多态中必须...
  • Java多态性的深入浅出

    2020-12-23 17:03:21
    多态性是面向对象编程的又一个重要特征,它是指在父类中定义的属性和方法被子继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的含义。 面向对象的三大...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 69,748
精华内容 27,899
关键字:

多态性可以分为两类