In C++
#include "iostream"
using namespace std;
class Cuoco{
public:
void Pasta(char * condimento){
cout << "io cucino pasta con " << condimento << endl;
getchar();
}
};
class Apprendista: public Cuoco{
public:
void Pasta(char * condimento){
cout << "io cucino nella pentola a pressione pasta con " << condimento << endl;
getchar();
}
void Pasta(char * condimento, char * condimento2){
cout << "io cucino pasta con " << condimento << " e " << condimento2 << endl;
getchar();
}
};
void main(){
Cuoco * Mario = new Cuoco();
Apprendista * Antonio=new Apprendista();
Mario->Pasta("ragu");
Antonio->Pasta("ragu");
}
io cucino pasta con ragu io cucino nella pentola a pressione pasta con ragu
In VB:
Module Module1
Class Cuoco
Public Sub Pasta(condimento As String)
Console.WriteLine("io cucino pasta con " & condimento)
Console.ReadLine()
End Sub
End Class
Class Apprendista
Inherits Cuoco
Public Overloads Sub Pasta(condimento As String)
Console.WriteLine("io cucino nella pentola a pressione pasta con " & condimento)
Console.ReadLine()
End Sub
Public Overloads Sub Pasta(condimento As String, condimento2 As String)
Console.WriteLine("io cucino pasta con " & condimento & " e " & condimento2)
Console.ReadLine()
End Sub
End Class
Sub Main()
Dim Antonio As New Apprendista
Antonio.Pasta("ragu")
End Sub
End Module
io cucino pasta con ragu io cucino nella pentola a pressione pasta con raguEcco.
Ho dovuto ridefinire il metodo in C++, e anche in VB.NET.
Però in VB.NET ho dovuto anteporre la parola chiave Overloads anche al metodo ridefinito.
In C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
class Cuoco
{
public void Pasta(string condimento)
{
Console.WriteLine("io cucino la pasta con " + condimento);
Console.ReadLine();
}
}
class Apprendista : Cuoco
{
public void Pasta(string condimento)
{
Console.WriteLine("io cucino nella pentola a pressione pasta con " + condimento);
Console.ReadLine();
}
public void Pasta(string condimento, string condimento2)
{
Console.WriteLine("io cucino la pasta con " + condimento + " e " + condimento2);
Console.ReadLine();
}
}
class Program
{
static void Main(string[] args)
{
Cuoco Mario = new Cuoco();
Apprendista Antonio = new Apprendista();
Mario.Pasta("ragu");
Antonio.Pasta("ragu");
}
}
}
io cucino la pasta con ragu io cucino nella pentola a pressione pasta con ragu
in Java:
package javaapplication1;
class Cuoco{
public void Pasta(String condimento){
System.out.println("io cucino pasta con " + condimento);
}
}
class Apprendista extends Cuoco{
public void Pasta(String condimento){
System.out.println("io cucino nella pentola a pressione pasta con "+ condimento);
}
public void Pasta(String condimento, String condimento2){
System.out.println("io cucino pasta con " + condimento + " e "+ condimento2);
}
}
public class JavaApplication1 {
public static void main(String[] args) {
Cuoco Mario=new Cuoco();
Apprendista Antonio=new Apprendista();
Mario.Pasta("ragu");
Antonio.Pasta("ragu");
}
}
run: io cucino pasta con ragu io cucino nella pentola a pressione pasta con ragu BUILD SUCCESSFUL (total time: 1 second)Anche qui il comportamento è simile a quello del C#.
Nessun commento:
Posta un commento