关于多态的一个小问题 重载是否为多态?如果不继承它是否还属于多态? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 xian_hf 等 级: 发表于:2007-11-19 20:24:496楼 得分:0 不同意 多态:运行期多态→就是我们说的重载 编译期多态→即重写 错多态→就是运行时的动态绑定 我不知C++里面怎么样的java里面就是我说的这样 xian_hf 等 级: 发表于:2007-11-19 20:24:496楼 得分:0 不同意 多态:运行期多态→就是我们说的重载 编译期多态→即重写 说的两句都是错的 Mailbomb 1、对象的多态 不叫多态就协变式是JDK 5新增的内容 在C++里面重载(Overloading)也是多态的一种表现.方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的(Overloading)。Overloaded的方法是可以改变返回值的类型。1、对象的多态 ;2、方法的多态;还有3,属性的多态:基类里和子类里有同名属性,那子类的属性也会覆盖基类的属性.多态:运行期多态→就是我们说的重载 ;编译期多态→即重写 上面2句是错的,应该是运行期多态→就是我们说的重写 ;编译期多态→即重载 呵呵 感谢ls提供的c++里面的多态 晕``你们到底谁说的对呢?我感觉xiyuan1999有道理点也```````把分``分半送你和cursor_wang 把``请告诉我如何送? cursor_wang 说的是C++里面的对于C++里面的我不清楚对于java里面的我确信既然你是在J2SE / 基础类版块问的自然是java里面的多态 overloading 重载 指的是一个类里面的具有相同name 的method (including constuctors)overriding 重写 是指在继承里面子类对父类方法的重写.对吗? 同意12楼的说法在Java中多态就是动态绑定关键点就是父类引用指向子类对象这样才能体现出多态真正的意义!!! 为什么要分C++和JAVA呢?OOP思想不都一样么? java中多态就是父类引用子类的对象c++中多态就是父类的指针指向子类的对象其实我个人感觉在oo中这个应该是一个意思的 重载不是多态重载是:在同一个类,有方法名称相同,参数不同(包括参数个数或参数类型)的多个方法! 这样的方法在被调用的时候,会根据不同的参数选择对应的方法!而多态的存在必须满足三个条件?第一 要有继承第二 有有重写第三 父类引用指向子类对象当满足条件时候,当你调用父类的方法时候,实际上new的是那个对象调用的就是那个对象里的方法 多态有2种形式:重写(override)和重载(overload) 重载和多态是两个层面的东西。多态好比是战略,而重载只是一种具体的战术。 具体来说,多态其实是“面向接口编程”这OOD原则的一种体现。比如变量的类型是接口(interface)(在JAVA中),而不是某个具体实现了该接口的类。这样在调用该变量所引用的对象的某个方法时,实际发生的行为(所谓的态)取决于程序运行时实际赋予该变量的对象。 但是,多态是用通过继承和重载技术来实现的。 字节流和字符流 java中关于星号的问题 键盘事件程序出错 怎么显示不出图片来呀 请问:jdom生成xml中(UTF-8),部分中文字符出现乱码,是怎么回事呢 请问一个有小数的数字,怎么将它变成一个整数,假如有尾位就+1 求struts开发的一个简单例子。 关于java代码混淆的请教 高分请教jsdk问题! 关于TreeSet的问题 如何在swing 中画矩形,并且实现其action. 用JAVA编写记事本程序
等 级:
发表于:2007-11-19 20:24:496楼 得分:0
不同意 多态:运行期多态→就是我们说的重载
编译期多态→即重写
错多态→就是运行时的动态绑定
等 级:
发表于:2007-11-19 20:24:496楼 得分:0
不同意 多态:运行期多态→就是我们说的重载
编译期多态→即重写 说的两句都是错的
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的(Overloading)。Overloaded的方法是可以改变返回值的类型。1、对象的多态 ;2、方法的多态;还有3,属性的多态:基类里和子类里有同名属性,那子类的属性也会覆盖基类的属性.多态:运行期多态→就是我们说的重载 ;编译期多态→即重写
上面2句是错的,应该是运行期多态→就是我们说的重写 ;编译期多态→即重载
overriding 重写 是指在继承里面子类对父类方法的重写.
对吗?
在Java中多态就是动态绑定
关键点就是父类引用指向子类对象
这样才能体现出多态真正的意义!!!
c++中多态就是父类的指针指向子类的对象
其实我个人感觉在oo中这个应该是一个意思的
重载是:在同一个类,有方法名称相同,参数不同(包括参数个数或参数类型)的多个方法! 这样的方法在被调用的时候,会根据不同的参数选择对应的方法!而多态的存在必须满足三个条件?
第一 要有继承
第二 有有重写
第三 父类引用指向子类对象
当满足条件时候,当你调用父类的方法时候,实际上new的是那个对象调用的就是那个对象里的方法
重载和多态是两个层面的东西。多态好比是战略,而重载只是一种具体的战术。 具体来说,多态其实是“面向接口编程”这OOD原则的一种体现。比如变量的类型是接口(interface)(在JAVA中),而不是某个具体实现了该接口的类。这样在调用该变量所引用的对象的某个方法时,实际发生的行为(所谓的态)取决于程序运行时实际赋予该变量的对象。 但是,多态是用通过继承和重载技术来实现的。