多态-实例

/**
* Created by rabbit on 2014-07-10.
*/
abstract class student
{
    public abstract void study();
    public abstract void sleep();

}
class Basestudent extends student
{
    public void study()
    {
        System.out.println("Base study");
    }
    public void sleep()
    {
        System.out.println("坐着睡");
    }
    public void eat()
    {
        System.out.println("坐着吃饭");
    }
}

class Advstudent extends student
{
    public void study()
    {
        System.out.println("Adv study");
    }
    public void sleep()
    {
        System.out.println("躺着睡");
    }
}

class Dostudent
{
    public void doSome(student stu)
    {
        stu.study();
        stu.sleep();
    }
}
public class DuoTaiDemo
{
    public static void main(String [] args)
    {
        Dostudent ds = new Dostudent();
        ds.doSome(new Basestudent());
        ds.doSome(new Advstudent());
    }

}

多态-实例

时间: 2024-09-30 13:25:14

多态-实例的相关文章

多态实例

多态   多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作.简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针. 那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化:继承可以扩展已存在的代码模块(类):它们的目的都是为了--代码重用.而多态则是为了实现另一个目的--接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用"家谱"中任一类

c++虚函数与多态实例分析

1 #include <iostream> 2 #include <complex> 3 using namespace std; 4 5 class Base 6 { 7 public: 8 Base() {cout<<"Base-ctor"<<endl;} 9 ~Base() {cout<<"Base-dtor"<<endl;} 10 virtual void f(int){cout<

Java多态 实例子类自动调用父类为空的构造方法 成员变量不支持Override 可写,没多态效果

=======子类 实例化的时候 默认调用父类为空的构造方法 即super();可省略. 但是当父类没有为空的构造方法的时候就必须在子类中       调用这个方法先实例父类 才能实例子类. 父类为空的构造方法 默认存在 在子类中默认自动调用. ========父类引用指向子类对象的时候  根据引用变量中 实例所属的类调用不同的类的方法,这种多态只适用于方法不适用与成员变量. 简单的理解为Java不支持属性字段覆盖(override),只支持方法覆盖,属性字段 不可重写. ========实例化

python------面向对象介绍之多态实例

一. 多态 一种接口,多种实现. 多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作. 简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针. 那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化:继承可以扩展已存在的代码模块(类):它们的目的都是为了--代码重用. 而多态则是为了实现另一个目的--接口重用!多态的作用,就是为了类在继承和派生的时候,保证使

2015 IOS 学习笔记 面向对象之多态 实例僵尸的练习 ——蓝懿教育

多态 多态性(polymorphism)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作.简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针.不同对象以自己的方式响应相同的消息的能力叫做多态.意思就是假设生物类(life)都用有一个相同的方法-eat;那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用是我们只需调用各自的eat方法.也就是不同的对象以自己的方式响应了相同的消息(响

C++笔记(4):继承和多态实例总结

继承与多态 1.继承与派生的基础 2.派生类的使用 3.多态 4.抽象类 ------------------------------------------------------------------------------------------------------------------------------ 1.继承与派生的基础 面向对象编程的主要目的之一就是提供可重用的代码.强调可重用性.使用C语言进行编程时,可以使用C标准的各种函数.C++提供更高层次的重用,如类库.通过继

多态原理和多态实例

多态实现的关键------虚函数表 每一个有虚函数的类(或有虚函数的类的派生类)都有一个虚函数表,该类的任何对象中都放着虚函数表的指针.虚函数表中列出了该类的虚函数地址.多出来的4个字节就是用来存放虚函数表的地址的. 多态的函数调用语句被编译成一系列根据基类指针所指向的(或基类引用所引用的)对象中存放的虚函数表的地址,在虚函数表中查找虚函数地址,并调用虚函数的指令. 多态在使用中会带来空间上额外的空间开销和时间开销.每个有虚函数类的对象中会多出4个字节来存放虚函数表的地址. 多态处理图形类的代码

python 多态实例

# coding:utf-8"""多态(英语:Polymorphism),是指面向对象程序运行时,相同的消息可能会送给多个不同的类之对象,而系统可依据对象所属类,引发对应类的方法,而有不同的行为.简单来说,所谓多态意指相同的消息给予不同的对象会引发不同的动作称之.在面向对象程序设计中,多态一般指子类型多态(Subtype polymorphism). 上面的定义有点让初学者费解,黄哥用"打开"这个动作来描述面向对象的多态."打开",可以

Lua实现简单的类,继承,多态 实例

1 -- 类的例子,长方形的类,具备一个打印面积方法和一个设置长宽的方法 2 --lua实现类的思路,定义出来的对象在lua中可以访问自己有的成员,访问成员函数实际上是通过元表的__index方法实现的,具体点就是访问自己的成员函数,发现没有函数,然后判断是否有元表和__index元方法(当然都有,而且是必须有),然后就变成了访问元表也就是类的成员,自然就访问了成员函数 3 Cfx = { m_chang = 0, m_kuan = 0, m_area = 0 } 4 Cfx.__index =