PHP expert |
|
Ja, dat weet ik.
Maar wat als je nog andere code wilt uitvoeren? Bijvoorbeeld controleren of i wel de juiste waarde heeft? In java gaat dit zo:
class MyClass
{
function setI(int ivalue)
{
// Andere code
this.i = ivalue;
}
function getI()
{
// Andere code
return this.i;
}
}
class MyClass { function setI(int ivalue) { // Andere code this.i = ivalue; } function getI() { // Andere code return this.i; } }
En zo gaat het in C#:
class MyClass
{
public int i
{
get
{
// Andere code
return this.I;
}
set
{
// Andere code
this.I = value;
}
}
}
class MyClass { public int i { get { // Andere code return this.I; } set { // Andere code this.I = value; } } }
En in c# kun je dan zo schrijven:
myObject.i++;
Wat in java zo moet:
myObject.setI(myObject.getI() + 1);
En in C# zijn er nog meer van deze dingen, zoals type-safe enums. In java worden enums geemuleerd door classes, maar dit is niet alleen langzamer, maar ook nog type-unsafe.
vb in c#:
public enum Directions
{
Up,
Down,
Left,
Right
}
public enum Directions { Up, Down, Left, Right }
Roep je zo aan:
class Test
{
protected Direction richting = Directions.Up;
}
class Test { protected Direction richting = Directions.Up; }
|