多态与满载的区别
多态与重载的区别
与Java相关信息
多态也叫polymorphism, 它是指某一抽象的类可以有多种实装类的结构.
这个抽象的对象一般, 定义了某类对象类似方法的共同名称, 比如说, 如果偶们定义乐器作为一个抽象的对象, 偶们也可以把演奏作为一个共同的方法, 实际上随着乐器的不同演奏的方法都不相同, 抽象的乐器演奏方法, 和各类具体乐器及其演奏方法的关系叫做多态. 多态主要靠interface和implement实现, 也可以靠abstract类和extend来实现. 二者的区别在于, INTERFACE由于只是定义了接口, 因此适合用于模块对外的关系定义(或者说, 定义一个插口可以插各种不同的对象), 抽象类, 可以定义方法的内容, 适合制定共通方法.
重载OVERLOADING则是另外一种关系啦, 它是指类在不断细分的过程中(所谓继承关系), 子类对父类的方法可以改造的关系, 比如说, 奔驰汽车的制动系统, 在其各个型号上都有所不同. 重载在extend之后, 重新定义父类的方法实现.
当一个抽象类中的方法被子类重新定义后, 这就不仅仅是多态啦, 而且复合上了重载.
overriding在汉语中似乎没有一个确切的翻译, 有人叫它重写, 有人叫它方法多态, 它和上面两个概念的层次有所不同, 它只代表了在一个类的方法定义中, 可以使用同一名称定义输入输出数据类型不同的方法
简而言之, 多态是指抽象的对象可以有多种实际的形态, 重载是指子类对从父类继承过来的方法进行重新定义, OVERRIDING是类定义的一个手法, 不过因为没有准确的翻译, 很多人被它搞糊涂啦.
与Java相关信息
多态也叫polymorphism, 它是指某一抽象的类可以有多种实装类的结构.
这个抽象的对象一般, 定义了某类对象类似方法的共同名称, 比如说, 如果偶们定义乐器作为一个抽象的对象, 偶们也可以把演奏作为一个共同的方法, 实际上随着乐器的不同演奏的方法都不相同, 抽象的乐器演奏方法, 和各类具体乐器及其演奏方法的关系叫做多态. 多态主要靠interface和implement实现, 也可以靠abstract类和extend来实现. 二者的区别在于, INTERFACE由于只是定义了接口, 因此适合用于模块对外的关系定义(或者说, 定义一个插口可以插各种不同的对象), 抽象类, 可以定义方法的内容, 适合制定共通方法.
重载OVERLOADING则是另外一种关系啦, 它是指类在不断细分的过程中(所谓继承关系), 子类对父类的方法可以改造的关系, 比如说, 奔驰汽车的制动系统, 在其各个型号上都有所不同. 重载在extend之后, 重新定义父类的方法实现.
当一个抽象类中的方法被子类重新定义后, 这就不仅仅是多态啦, 而且复合上了重载.
overriding在汉语中似乎没有一个确切的翻译, 有人叫它重写, 有人叫它方法多态, 它和上面两个概念的层次有所不同, 它只代表了在一个类的方法定义中, 可以使用同一名称定义输入输出数据类型不同的方法
简而言之, 多态是指抽象的对象可以有多种实际的形态, 重载是指子类对从父类继承过来的方法进行重新定义, OVERRIDING是类定义的一个手法, 不过因为没有准确的翻译, 很多人被它搞糊涂啦.