Interface inc#

Status
Niet open voor verdere reacties.

farescsharp

Gebruiker
Lid geworden
1 mrt 2008
Berichten
24
Ik ben student informatica 1ste jaar en ik ben op zoek naar een antwoord op deze vraag aub?
Deze opgave zal de volgende klassen bevatten:


Auto

Huis

Mens

Laptop





Al deze klassen hebben een gemeenschappelijke eigenschap, namelijk hun leeftijd. Elk object zal een integer waarde bevatten die aangeeft hoeveel jaren het object al op de aardbol rond/loopt/staat/ligt. De bedoeling is nu om verschillende objecten van deze klassen aan te maken en het de gebruiker mogelijk te maken om deze met elkaar te vergelijken op basis van hun leeftijd. Elke klasse moet dus een implementatie van een functie voorzien die het mogelijk maakt zijn leeftijd met dat van een ander object te vergelijken. Deze functie zal:


-1 teruggeven indien jonger

0 indien even oud

1 indien ouder
Dus ik moet een interface maken
maar het lukt niet bij me kan iemand me helpen aub?
c# console application
mvg
faresc#
 
Je mag eerst dit topic doorlezen:
http://www.helpmij.nl/forum/showthread.php?t=278800

Daarna mag je laten zien wat je zelf al hebt gemaakt.
Als je problemen hebt.. foutmeldingen of functies oid wat je niet snapt, kan je daarover vragen stellen :)
Want we gaan niet jouw opdracht maken als je er zelf nog niet eens mee bent gestart :)
 
Sorry u hebt gelijk,maar ik ben nieuwe gebruiker net vandaag maar ik zal bewijzen dat ik iets gemaakt hebt wacht even aub
hier zijn mijn oplossing die niet kloppen
interface IComparable
{
double LeefTijd();
// daarna een chil class
class Auto :IComparable

{
double leeftijd;
// constructor
public Auto(double age)
{
leeftijd = age;
}
double IComparable.LeefTijd()
{
return leeftijd;
}
public double CompareTo(object o)
{

if ((o is Auto))
{
System.Console.WriteLine("o must be of type 'Auto'");
}


else if ((o is Huis))
{
System.Console.WriteLine("o must be of type 'huis'");
}
else if ((o is Mens))
{
System.Console.WriteLine("o must be of type 'mens'");
}
else if ((o is Laptop))
{
System.Console.WriteLine("o must be of type 'laptop'");
}


// hier weet ik niet hoe moet ik auto vergelijken met de rest van de objecten
// -1 teruggeven indien jonger

//0 indien even oud

// 1 indien ouder

}
// nog child class
class Huis:IComparable
{
double leeftijd=0;

public Huis(double age)
{
leeftijd = age;
}
double IComparable.LeefTijd()
{
return leeftijd;
}
// child class
class Laptop:IComparable
{
double leeftijd=0;

public Laptop(double age)
{
leeftijd = age;
}
double IComparable.LeefTijd()
{
return leeftijd;
}
// nog child class
class Mens : IComparable
{
double leeftijd=0;

public Mens(double age)
{
leeftijd = age;
}
// Explicit interface member implementation:
double IComparable.LeefTijd()
{
return leeftijd;
}
maar in de main programma heb iets anders gemaakt maar total niet klopt
Auto z = new Auto(10);
IComparable HP=(IComparable)z;

System.Console.WriteLine("geef de leeftijd van het object");
double antwood = Convert.ToDouble(System.Console.ReadLine());
System.Console.WriteLine("Leeftijd {0}", antwood);
System.Console.ReadLine();
 
interfaces

Hi
Ik wil hebben ben ik juist bezig of niet?
En hoe moet ik een object Auto vergelijken met de rest aub?
ik denk dat de oplossing niet zo moeilijk maar ik deze les gisten gehad daarom ben ik nog niet sterk in zo iets te maken?
bedankt voor het begrip.
 
public interface ILeeftijd
{
int leeftijd
{
get;
set;
}
}//end I_class


class Mens : ILeeftijd
{
int i_leeftijd;

public int leeftijd
{
get { return i_leeftijd; }
set { i_leeftijd = value; }
}
}//end class
// nu de main programma
static void Main(string[] args)
{

Mens m1 = new Mens();
m1.leeftijd = 20;
}//end main
Maar de vergelijking tussen Auto,Laptop en de rest is niet duidelijk voor mij?
 
Code:
 interface IComparable
    {
       double LeefTijd();
Code:
class Mens : IComparable
    {
         double leeftijd=0;

         public Mens(double age)
        {
            leeftijd = age;
        }
        // Explicit interface member implementation:
         double IComparable.LeefTijd()
         {
             return leeftijd;
         }
         public double CompareTo(object p)
         {

             if ((p is Mens))
             {
                 System.Console.WriteLine("o must be of type 'mens'");
                 //public int CompareTo(object obj) {
                 //if (obj is Temperature)
                 //{
                 // Temperature otherTemperature = (Temperature)obj;
                 // return this.temperatureF.CompareTo(otherTemperature.temperatureF);
                 //}
                 Mens johan = (Mens)p;
                 return this.leeftijd.CompareTo(johan.leeftijd);
             }



             else
             {
                 throw new ArgumentException("object is not a Mens");
             }

         }
maar daarna wat moet ik doen?????????????????????????
Ben ik juist bezig of niet?
mvg
Faresc#
 
Je mag eerst dit topic doorlezen:
http://www.helpmij.nl/forum/showthread.php?t=278800

Daarna mag je laten zien wat je zelf al hebt gemaakt.
Als je problemen hebt.. foutmeldingen of functies oid wat je niet snapt, kan je daarover vragen stellen :)
Want we gaan niet jouw opdracht maken als je er zelf nog niet eens mee bent gestart :)

Ik heb heel veel gadaan maar ik heb tot nu nog altijd geen antwoord gehad van U
Dus uw comentaar is !="juist;
mbx"Gelieve een feed back te geven aub";
 
iK HEB NOG ALTIJD GEEN OPLOSSING GEVONDEN EN IK ZOU VRIJDAG DIT MOETEN AFGEVEN KAN IEMAND AUB IETS DOEN VOOR MIJ AUB
 
Laatst bewerkt door een moderator:
Hi
eindelijk had een oplossing gevonden
Ik had maar 4 uren les over c# intrefaces maar ik heb 2 examples gezien en ik mijn oplossing zo opgelossd
interface IComparable
{
int HASAGE
{
get;
set;
}
int CompareTo(Object ObjectToComapare);
}
// 2nd interface
interface InterfaceObjecten
{
int HASAGE
{
get;
set;
}
int GeefLeeftijd();
}
// en nu the child class which is Auto in this exercise
class Auto:InterfaceObjecten, IComparable
{
private int _leefTijd;
private string i_output = null;
// default constructor
public Auto()
{
_leefTijd = 0;

}
// constructor met parameter
public Auto(int AGE)
{
this._leefTijd = AGE;
}
// property
public int HASAGE
{
get { return _leefTijd; }
set { _leefTijd = value; }
}
public string Output
{
get { return i_output; }
set { i_output = value; }
}
public int GeefLeeftijd()
{
bool CheckResult;
do
{
CheckResult = false;
System.Console.WriteLine("geef de leeftijd van uw object aub");
try
{
_leefTijd = Convert.ToInt32(System.Console.ReadLine());
}
catch (System.FormatException)
{
System.Console.WriteLine("Het is niet juist");
CheckResult = true;
}

} while (CheckResult);
HASAGE = _leefTijd;
return _leefTijd;
}
// en nu de vergelijking object Auto


public int CompareTo(Object ObjectToComapare)
{
int temp = 0;
if (ObjectToComapare is Huis)
{
Huis Fadi = ObjectToComapare as Huis;
if (this._leefTijd > Fadi.HASAGE)
{
Output = "Auto is ouder dan huis";
return 1;
}
else if (this._leefTijd < Fadi.HASAGE)
{
Output = "Auto is jonger dan huis";
return -1;
}
else if (this._leefTijd == Fadi.HASAGE)
{
Output = "Auto is gelijk aan huis";
return 0;
}
}


// also the same for the 2nd object en de 3rd one thus,

else if (ObjectToComapare is Mens)
{
Mens Johan = ObjectToComapare as Mens;
if (this._leefTijd > Johan.HASAGE)
{
Output = "Auto is ouder dan mens";
return 1;
}
else if (this._leefTijd < Johan.HASAGE)
{
Output = "Auto is ouder dan mens";
return -1;
}
else if (this._leefTijd == Johan.HASAGE)
{
Output = "Auto is ouder dan mens";
return 0;
}
}

//********3rd*************

else if (ObjectToComapare is Laptop)
{

Laptop HP = ObjectToComapare as Laptop;
if (this._leefTijd>HP.HASAGE)
{
Output = "Auto is ouder dan laptop";
return 1;
}
else if (this._leefTijd< HP.HASAGE)
{
Output = "Auto is ouder dan laptop";

return -1;
}
else if (this._leefTijd == HP.HASAGE)
{
Output = "Auto is ouder dan laptop";
return 0;
}
}
return temp;
}

public override string ToString()
{
return String.Format("het resultaat is " + Output);
}


}


}
ik heb mijn oef al door gegeven en ik wacht op het resultaat
misschien had teveel codes opgeschrijven maar de main programa werkt wil goed.
Dus voor mij de vraag is opgelossed
Bedankt allemaal en tot de volgende keer
Ik begin vanaf vandaag met de Windows Application (GUI) iets leuker dan de ConsoleAppications
MVG
 
Aan je code te zien snap jij weinig of niets van interfaces of van de C# taal in het algemeen. Alle begin is moeilijk en ik denk dat je best eens achter de boeken kruipt. Verder wordt het over het algemeen als onbeleefd beschouwd wanneer een bericht in hoofdletters wordt getypt en wordt (een benadering van) algemeen nederlands bijzonder geapprecieerd.

De interface:
http://www.codersource.net/csharp_tutorial_interface.html
http://msdn2.microsoft.com/nl-nl/default(en-us).aspx

nogmaals bedankt ik heb al de links al gezien,maar ik ben in het 1ste jaar graduaat informatica(avondschool) en ik denk dat ik wat kennis heb in c#,Dus 4 uren per week programeertaal(c#) is niet genoeg maar ja ik moet hier en daat eenbeetje uitleg vragen
en als ik onbellfd was volgens U dat zal ik zeggen dat was niet mijn bedoeling en ik heb iets bijgeleerd van U,
en tot de volgende vraag
mvg
 
ter informatie ik heb geen typtop geleerd
soory voor de fouten ik merk dat achteraf
OK?
bedankt voor het begrip
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan