Dunque se in C++ bisogna fare l'overload di un metodo ereditato, bisogna ridefinire il metodo ereditato:
#include "iostream"
using namespace std;
class Base{
public:
void metodo(){
cout << "Io sono il metodo della classe Base" << endl;
getchar();
}
};
class Derivata: public Base{
public:
void metodo(){
Base::metodo();
}
void metodo(int parametro){
cout << "Io sono il metodo della classe Derivata" << endl;
getchar();
}
};
void main(){
Base miaBase;
Derivata miaDerivata;
miaBase.metodo();
miaDerivata.metodo();
miaDerivata.metodo(1);
}
Io sono il metodo della classe Base
Io sono il metodo della classe Base
Io sono il metodo della classe Derivata
Cosa non necessaria in C# e Java:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
class Base
{
public void metodo()
{
Console.WriteLine("Io sono il metodo della classe Base");
Console.ReadLine();
}
}
class Derivata:Base{
public void metodo(int parametro)
{
Console.WriteLine("Io sono il metodo della classe derivata ");
Console.ReadLine();
}
}
class Program
{
static void Main(string[] args)
{
Base miaBase=new Base();
Derivata miaDerivata=new Derivata();
miaBase.metodo();
miaDerivata.metodo();
miaDerivata.metodo(1);
}
}
}
Io sono il metodo della classe Base
Io sono il metodo della classe Base
Io sono il metodo della classe derivata
package javaapplication1;
class Base{
public void metodo(){
System.out.println("Io sono il metodo della classe Base");
}
}
class Derivata extends Base{
public void metodo(int parametro){
System.out.println("Io sono il metodo della classe Derivata");
}
}
public class JavaApplication1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Base miaBase=new Base();
Derivata miaDerivata=new Derivata();
miaBase.metodo();
miaDerivata.metodo();
miaDerivata.metodo(1);
}
}
run:
Io sono il metodo della classe Base
Io sono il metodo della classe Base
Io sono il metodo della classe Derivata
BUILD SUCCESSFUL (total time: 0 seconds)
Nessun commento:
Posta un commento