精华内容
下载资源
问答
  • 多态的作用

    2020-02-15 19:48:09
    多态的作用 最根本的是降低用户使用成本。 1.类的调用者不必知道类的类型, 只需要知道这个类的对象具有哪些方法即可; 2. 能够降低代码的 “圈复杂度”, 避免使用大量的 if - else; 3. 可扩展性强。要新增需求, ...

    多态的作用


    最根本的是降低用户使用成本

    1.类的调用者不必知道类的类型, 只需要知道这个类的对象具有哪些方法即可;
    2. 能够降低代码的 “圈复杂度”, 避免使用大量的 if - else;
    3. 可扩展性强。要新增需求, 使用多态的方式代码改动成本也比较低。

    展开全文
  • 多态的作用? 虚函数的作用? 实现多态。(预留:虚函数的实现原理) 多态是什么? “一个接口,多种表现/实现”,多态性是提供一种技术,这种技术允许将父类指针或引用赋值为子类的指针或引用,进行这种赋值之后,...

    虚函数的作用?什么是多态?多态的作用?

    虚函数的作用?

    实现多态。(预留:虚函数的实现原理

    多态是什么?

    “一个接口,多种表现/实现”,多态性是提供一种技术,这种技术允许将父类指针或引用赋值为子类的指针或引用,进行这种赋值之后,在运行时,可根据当前赋给它的的子对象的特性以不同方式运行。

    多态的作用?

    实现接口复用,把不同的子类对象都当做父类来用,屏蔽不同子类对象之间的差异,编写通用的代码,实现通用的编程,以应对需求的变化。

    展开全文
  • 面向对象编程有三大特性:封装、继承、多态。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部...多态的实现机制又是什么?请看我一一为你揭开:所谓多态就是指程序中定义的引用变量所指向的具...

    面向对象编程有三大特性:封装、继承、多态。

    封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。

    继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开:

    所谓多态就是指程序中 定义的引用变量 所指向的具体类型和 通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。而多态是我们只有在运行的时候才会知道引用变量所指向的具体实例对象。

    在继承中我们知道子类是父类的扩展,它可以提供比父类更加强大的功能,如果我们定义了一个指向子类的父类引用类型,那么它除了能够引用父类的共性外,还可以使用子类强大的功能。

    但是向上转型存在一些缺憾,那就是它必定会导致一些方法和属性的丢失,而导致我们不能够获取它们。所以父类类型的引用可以调用父类中定义的所有属性和方法,对于只存在与子类中的方法和属性它就差远了。

    所以对于多态我们可以总结如下:

    指向子类的父类引用由于向上转型了,它只能访问父类中拥有的方法和属性,而对于子类中存在而父类中不存在的方法,该引用是不能使用的,不可用方法分为重载的方法和子类独有的方法。

    若子类重写(方法名和参数不变)了父类中的某些方法,在调用该些方法的时候,必定是使用子类中定义的这些方法(动态连接、动态调用)。

    下面可以举一个例子来说明多态:

    a89df166f76de83bc20abfa2b1a1e50e.png

    5b3fdd513eb3b4a934c6f87e4f230e98.png

    我们发现在主程序中频繁调用吃这个概念写起来很麻烦,尤其在不同类调用多个同样行为后会出现大量的代码量!

    这个时候只需要将main改成

    83aebf0a86b85c6dc2273d4e463e9db4.png

    这样就显得简单多了,尤其在代码量大的时候这种行为更加方便!

    展开全文
  • 看了大量的资料和视频之后,我终于搞清了多态的作用了,废话不多说,直接上干货! 多态的好处: 1.提高了代码的可维护性 2.提高了代码的扩展性 多态的作用: 可以当做形式参数,可以接受任意子类对象 多态...

    看了这个,我终于知道了为什么要用多态了

    看了大量的资料和视频之后,我终于搞清了多态的作用了,废话不多说,直接上干货!

    多态的好处:

              1.提高了代码的可维护性

              2.提高了代码的扩展性

    多态的作用:

               可以当做形式参数,可以接受任意子类对象

    多态的弊端:

                不能使用子类特有的属性和行为

    案例演示:

       父类与子类:

    class Animal{

              public void eat(){

                    System.out.println("动物吃饭");

                  }

    }

    class Cat extends Animal{

               public void eat(){

                System.out.println("猫吃鱼");

                 }

                public void CatchMouse(){

                System.out.println("猫抓老鼠");

                }

    }

    class Dog extends Animal{

               public void eat(){

                System.out.println("狗吃骨头");

                 }

    }

    主类:

    //加入现在需要创建三个猫对象和三个狗对象并使用eat方法,如果我们按照正常的思路:

    class Demo_Animal{

           public static void main(String[] args) {

            Cat c1=new Cat();

            Cat c2=new Cat();

            Cat c3=new Cat();

            Dog d1=new Dog();

            Dog d2=new Dog();

            Dog d3=new Dog();

            c1.eat();

            c2.eat();

            c3.eat();

            d1.eat();

            d2.eat();

            d3.eat();

              }

    }

    //显然这样写代码冗余,我们可以先优化一下创建对象和调用方法的过程,把创建对象和调用方法的过程提取成为一个方法

    class Demo_Animal{

           public static void main(String[] args) {

              method(Cat c1);

              method(Cat c2);

              method(Cat c3);

              method(Dog d1);

              method(Dog d2);

              method(Dog d3);

                  }

         public static void method(Cat c){

           c.eat();

                  }

         public static void method(Dog d){

           d.eat();

                  }

    }

    //这个时候,如果有十个,百个类,猫,狗,猪,牛,羊........我们每次都需要写一个对应的method,这样是不现实的,因

    //此我们需要进一步优化,使用多态,把父类当做形参

    class Demo_Animal{

           public static void main(String[] args) {

           method(Cat c1);  

           method(Cat c2);  

           method(Cat c3);  

           method(Dog d1);  

           method(Dog d2);  

           method(Dog d3);  

           }

           public static void method(Animal a){

            a.eat(); 

            }

    从这个案例中我们可以明显的感受到多态的优点,我所使用的父类作为形参的方法也是在工作时最为常用的一种方式,以上是我花了大功夫总结的多态,希望对看到的你有所帮助! 

    展开全文
  • 多态的作用先看下面的代码:class Animal: def __init__(self, name): self.name = name class Cat(Animal): def talk(self): print('my name is cat')class Dog(Animal): def talk(self): print('my name is dog')#...
  • java特性之多态的作用

    2019-04-23 16:52:03
    何为多态:编译时类型和...结合面向接口编程的好处,不难理解多态的作用。但我不能理解直接赋值的作用:ParentClass parent = new SonClass();这样并没有什么实际的作用。只用在面向接口编程中,才最大程度的体现了...
  • 多态的作用是消除类型之间的耦合关系,多态方法调用允许一种类型表现出与其他相似类型之间的区别,只要他们都是从同一个基类导出而来的。1.方法参数中传入基类,可以使子类方便调用classInstrument{public voidplay...
  • 在继承中,常常用到多态,多态的作用是什么啊,对于直接书写 之间的好处有那些啊?
  • java 多态的作用

    2012-02-14 10:06:35
    一道面试题 : 多态的作用 ? 摘录 网友的 回答! 多态有编译时多态 和运行时多态。 第一个是通过方法重载实现;第二个是通过方法覆盖实现(子类覆盖父类方法)。 第一种就是我们调用方法是不用区分参数类型,...
  • 多态的作用:面向抽象编程,不要面向具体编程,降低程序的耦合度,提高程序的扩展力 publiv class Master{ public void feed(Dog d){} public void feed(Cat c){} //假设又要养其它的宠物,那么这个时候需要再加...
  • 面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,...多态的实现机制又是什么?请看我一一为你揭开: 所谓多态就是指程序中 定义的引用变量...
  • C++ 多态的作用

    2015-06-23 20:26:00
    在面向对象程序设计中使用多态,能够增强程序可扩充性,即程序需要修改或增加功能 时候,需要改动或增加代码较少。 转载于:https://www.cnblogs.com/aqing1987/p/4596234.html...
  • 把不同bai子类对象都当作父类来看,可以屏蔽不同子类对象之间差异,写出通用代码,做出通用编程,以适应需求不断变化。 赋值之后,父对象就可以根据当前赋值给它子对象特性以不同方式运作。也就是说...
  • JAVA 多态的作用

    2013-02-04 19:14:31
    多态是面向对象重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出多种形态。 编程其实就是一个将具体世界进行抽象化过程,多态就是抽象化一种体现,把一系列具体事物共同点抽象出来, 再...
  • 大家好,我是乐字节小乐,前几天讲完了Java继承,接下来我们会讲述Java多态。以上就是本次学习6大任务。我们依次来看。一、 Object类Object类是所有Java类根基类。如果在类声明中未使用extends关键字指明其...
  • 什么是多态? 概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,(或者说 不同类对于同一消息有不同的...多态的是 消除类型之间的耦合关系 多态除了代码的复用性外,还可以解决项目中紧偶...
  • C#中 多态的作用

    2016-06-09 09:00:29
    How to use Polymorphism, Upcasting, and Downcasting to create powerful and dynamic functionality ...如何使用多态,向上转型和向下转换创建继承类之间强大和动态功能 public new void Chop() {
  • 多态的作用-游戏编程展示------新标准c++程序设计  游戏软件的开发最能体现面向对象设计方法的优势。游戏中的人物、道具、建筑物、场景等都是很直观的对象,游戏运行的过程就是这些对象相互作用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,408
精华内容 2,963
关键字:

多态的作用