精华内容
下载资源
问答
  • 经典Java多态例子

    2020-10-26 18:30:00
    经典Java多态例子@白兴华 Java 多态 多态是Java的基础,学好,理解好多态有助于我们理解Java的其他的知识点 定义 多态是同一个行为具有多个不同的表现形式或形态的能力 多态的优点 1.消除类型之间的耦合关系 2.可...

    经典Java多态例子@白兴华

    Java 多态

    多态是Java的基础,学好,理解好多态有助于我们理解Java的其他的知识点

    定义

    多态是同一个行为具有多个不同的表现形式或形态的能力

    多态的优点

    1.消除类型之间的耦合关系
    2.可替代性
    3.可扩展性
    4.接口性
    5.灵活性
    6.简化性

    存在的三个必要条件

    1.继承
    2.重写
    3.父类引用指向子类对象

    public class TestPolymorphism {
    	  public static void animalSaySomething(Animals an) {
    		  an.saySomething();
    		  if(an instanceof  Cat) {          //判断形参an是不是和cat一样
    			  Cat cat=(Cat)an;                //把an强转为cat类型
    			  cat.show();
    		  }
    	  }
    	       
    	
    	
           public static void main(String[] args) {
    		Dog  dog =new Dog();
    		Cat  cat  =new  Cat();
    		Bird  bird =new  Bird();
    		animalSaySomething(dog);       //形参名(实参);
    		animalSaySomething(cat);
    		animalSaySomething(bird);
    	}
    }
    class  Animals{
    	public  void  saySomething() {
    	  System.out.println("说点什么。。。");
    		}
    }
    class  Dog   extends  Animals {
    	public    void  saySomething() {
    		System.out.println("汪汪汪");
    	}
    }
    class  Cat  extends Animals{
    	public void saySomething() {
    		System.out.println("喵喵喵");
    	}
    	public  void  show() {
    		System.out.println("我是一只小猫咪");
    	}
    }
    class  Bird  extends  Animals{
    	public void saySomething() {
    		System.out.println("叽叽喳喳");
    	}
    }
    

    输出:

    汪汪汪
    喵喵喵
    我是一只小猫咪
    叽叽喳喳
    
    
    展开全文
  • 安老师 的一个例子,c++ 的封装继承多态例子
  • 继承和多态例子shape&&point.rar
  • 重载,重写,多态例子

    千次阅读 2014-05-05 21:38:41
    重载,重写,多态例子

    重载

    方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。

    package com.wzs;
    
    /**
     * 重载
     * 
     * @author Administrator
     * 
     */
    public class OverLoadTest {
    	public int add(int a, int b) {
    		return a + b;
    	}
    
    	public double add(double a, double b) {
    		return a + b;
    	}
    
    	public int add(int a) {
    		return a;
    	}
    
    	public int add(int a, double b) {
    		return 1;
    	}
    
    	public int add(double a, int b) {
    		return 1;
    	}
    }
    

    重写

    在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。 如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。

    package com.wzs;
    
    /**
     * 重写
     * 
     * @author Administrator
     * 
     */
    public class OverReadTest {
    
    	class Parent {
    		public void say() {
    			System.out.println("Parent say()");
    		}
    	}
    
    	class Child extends Parent {
    		public void say() {
    			System.out.println("Child say()");
    		}
    	}
    }
    

    多态

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

    package com.wzs;
    
    /**
     * 多态
     * 
     * @author Administrator
     * 
     */
    public class MixinsTest {
    	// 卖出一部车
    	public static void sellCar(Car car) {
    		System.out.println("车型:" + car.getName() + "  单价:" + car.getPrice());
    	}
    
    	public static void main(String[] args) {
    		sellCar(new BMW());
    		sellCar(new CheryQQ());
    	}
    }
    
    // 车
    interface Car {
    	public String getName();
    
    	public int getPrice();
    }
    
    // 宝马
    class BMW implements Car {
    	public String getName() {
    		return "宝马";
    	}
    
    	public int getPrice() {
    		return 300000;
    	}
    }
    
    // 奇瑞QQ
    class CheryQQ implements Car {
    	public String getName() {
    		return "奇瑞QQ";
    	}
    
    	public int getPrice() {
    		return 20000;
    	}
    }
    


    展开全文
  • C++多态例子

    2020-10-14 17:33:50
    直接上例子,其中包括虚函数规则 #include <iostream> #include <string> #include <vector> using namespace std; class A { public: virtual void x() { cout << "A::x" << endl...

    回忆一下多态规则,这里直接上例子,包括虚函数规则

    #include <iostream>
    #include <string>
    #include <vector>

    using namespace std;

    class A
    {
    public:
        virtual void x()
        {
            cout << "A::x" << endl;
        }
        
        void y()
        {
            x();
            cout << "A::y" << endl;
        }
    };
     
    class B : public A
    {
    public:
        virtual void x()
        {
            cout << "B::x" << endl;
        }
        
        virtual void y()
        {
            x();
            cout << "B::y" << endl;
        }
    };

    int main()
    {
        A *a = new B;
        a->y();
        cout << "----------------" << endl;
        B *b = (B *)a;
        b->y();
        
        return 0;
    }

    结果:

    B::x
    A::y
    ---------
    B::x
    B::y
    
    展开全文
  • C++继承与多态例子

    热门讨论 2009-06-28 17:13:08
    C++实现的一个继承与多态例子,内容详细且易懂
  • Java实现多态例子

    千次阅读 2014-03-22 12:30:59
    多态性是指统一的接口,不同的表现形式。在我们下面的例子中,有5个类。...多态是Java语言的三大特性之一(封装\继承\多态),其中继承与多态是离不开的,我们有必要理解好多态。 以下代码涉及到Perso

    多态是Java语言的三大特性之一(封装\继承\多态),其中继承与多态是离不开的,我们有必要理解好多态。

    以下代码涉及到Person类、Friend类、GrilFriend类、Workmate类,其中Person类是其他三个类的父类

    四个类都有一个relationInfo()的方法,用输出关系信息。

    package com.xyj.java.t_2_1_4.duotai;
    
    public class Person {
    	void relationInfo(){
    		System.out.println("你是谁呀,我才不认识你!");
    	}
    }
    

    package com.xyj.java.t_2_1_4.duotai;
    
    public class Friend extends Person {
    
    	@Override
    	void relationInfo() {
    		System.out.println("我是XYJ的朋友,我是老毕!");
    	}
    
    }
    

    package com.xyj.java.t_2_1_4.duotai;
    
    public class GrilFriend extends Friend {
    
    	@Override
    	void relationInfo() {
    		System.out.println("我是XYJ的女朋友,我是WZY!");
    	}
    	
    }
    

    package com.xyj.java.t_2_1_4.duotai;
    
    public class Workmate extends Person {
    
    	@Override
    	void relationInfo() {
    		System.out.println("我是XYJ的同事,我是超人!");
    	}
    	
    }
    

    最后一个是测试类

    package com.xyj.java.t_2_1_4.duotai;
    
    public class TestDuotai {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Person[] persons = new Person[4];
    		persons[0] = new Person();
    		persons[1] = new Friend();
    		persons[2] = new GrilFriend();
    		persons[3] = new Workmate();
    		
    		for(Person p : persons){
    			if(p != null){
    				p.relationInfo();
    			}
    		}
    	}
    
    }
    


    展开全文
  • 多态例子——Java代码

    千次阅读 2018-03-06 16:43:19
    /*多态的好处:提高了代码的维护性和扩展性;弊端:父类不能使用子类的特有功能。要用子类的特有功能,可以:A:创建子类对象,调用方法即可(不合理,太占内存);B:把父类的引用强制转换为子类的引用(向下转型)...
  • 代码块 package main import "fmt" type CarTyper interface { //接口 ...//多态 i.GetCar() } func main() { var carStore CarStore carStore.Order (80000 , "Audi" ) }
  • 今天分享的这个例子既体现了继承,也体现出了多态和封装。可以说一个例子把面向对象的三个特征都体现了一遍,俗话说麻雀虽小五脏俱全。 目录 例子: UML类图: 结果: 代码: Form1窗体 放入苹果: 放入橘子...
  • C# 多态演示例子

    2009-10-10 09:55:09
    C#多态演示例子 QQ:292258449
  • 今天来写一个多态的例子,多态即同一个方法传入不同子类对象的引用时的表现行为不同,大家看我写的多态例子正确吗,或者有没有更好的建议,欢迎留言讨论! package com.example.springboot; public class ...
  • 多态典型例子

    千次阅读 2017-01-25 16:34:35
    我们先来谈谈一个多态静态方法重写的例子:package classfileStaticcover; class A { public static void test() { System.out.println("be cover "); } }class B extends A { public static void test() {
  • //C语言多态例子 //951868692@qq.com #include <stdio.h> typedef struct { void (*run)(void); void (*fly)(void); void (*speak)(void); }funInterface_t; //小红实现 static void xiaohongRun(void) {...
  • 多态例子

    千次阅读 2013-03-12 15:19:01
    没有合适的例子,想出这么个办法理解多态。如果你能想出输出内容来,就理解多态了可以飘过了……;如果你不理解多态,理解了这个例子相信你会记一辈子。 using System; using System.Collections.Generic; using ...
  • 继承和多态简单例子文本文档.txt
  • 一个多态例子

    2016-01-06 14:34:49
    最近看DELPHI高手突破,把里面多态的说明,用代码实现了一下。多态性是允许用户将父对象设置成为与一个或更多的它的子对象相等的技术,赋值之后,基类 对象就可以根据当前赋值给它的派生类对象的特性以不同的方式...
  • Java 多态例子

    2017-06-13 14:02:49
    多态就是通过继承和动态绑定来决定程序使用哪个实现. 一个简单的例子。 interface Animal { public void eat(); } class Whale extends SeaAnimal { int age = 20; @Override public void eat() { System.out...
  • java多态简单例子 one

    2018-09-26 00:27:05
    java多态简单例子 one 2011年10月16日 22:59:15 cyq1028 阅读数:59276 标签: javafunctionclassstring扩展   /* 对象的多态性:动物 x = new 猫(); 函数的多态性:函数重载、重写   ...
  • java多态经典例子

    千次阅读 2017-09-21 11:33:04
    多态机制遵循的原则概括为:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法,但是它仍然...
  • 多态

    2019-09-21 19:55:10
    多态性:"多态性"一词最早用于生物学,指同一种种族的生物体谁染具有相同的本质特征,单在不同环境中可能呈现出不同的特性 ...继承多态 例子1: class Program { static void Main(string...
  • java多态简单例子

    2015-12-18 22:30:00
    1、多态的体现 父类的引用指向了自己的子类对象 父类的引用也可以接收自己的对象 2、多态的前提 必须是类与类之间只有关系,要么继承或实现 通常还有一个前提,存在覆盖 3、多态的好处 ...
  • 多态例子.

    2014-10-19 19:37:32
    态可以分为变量的多态,方法的多态,类的多态.我这里强调的是类的多态,这是我们在以后的工作中经常回用到的 首先,有这样一个系统:有个学生工作从达内毕业了,作的还不错.买了辆捷达汽车.这个系统应该如何设计呢? ...
  • 多态的典型例子

    千次阅读 2016-04-01 21:47:10
    多态的典型例子
  • 理解java中的多态多态例子

    万次阅读 2011-10-16 21:04:52
    当面临一个问题,有多种实现算途径的时候,要想到java中的核心:多态多态的思想: 概括地讲,在运用父类引用指向子类对象的情况下,基本上就用到了多态了。(当父类引用指向子类对象时,调用的方法和成员...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,839
精华内容 37,135
关键字:

多态例子