Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C#] Interfejs

Ostatnio zmodyfikowano 2015-05-03 15:47
Autor Wiadomość
Steelgenesis
Temat założony przez niniejszego użytkownika
[C#] Interfejs
» 2015-04-20 23:03:10
Cześć, mam pytanie dotyczące IComparable mianowicie
C/C++
public class Temperature
: IComparable
{
    // The temperature value
    protected double temperatureF;
   
    public int CompareTo( object obj ) {
        if( obj == null ) return 1;
       
        Temperature otherTemperature = obj as Temperature;
        if( otherTemperature != null )
             return this.temperatureF.CompareTo( otherTemperature.temperatureF );
        else
             throw new ArgumentException( "Object is not a Temperature" );
       
    }

chodzi mi o
return this.temperatureF.CompareTo( otherTemperature.temperatureF );
. Czy funkcja sort zwraca w tym momencie wywołanie rekurencyjne ? Czy zwraca obiekt this i dlaczego ten zapis wygląda jak wywołanie rekurencyjne ?
P-131234
Pirotechnik
» 2015-05-03 15:47:11
Witam

a więc z tego co pamiętam:
słowo "this" oznacza że odwołujesz się do obiektu który jest zawarty w tej klasie. Stosuje się to przy konfliktach nazw aby rozpoznać o którą zmienną/obiekt chodzi. np.: w System.Windows.Forms klasa Form ma zdefiniowaną właściwość Size która jest typu System.Drawing Size i poprawnym zapisem będzie (oczywiście mówie tu o konstruktorze tejże formatki):


class Formatka : Form
{
   Formatka(int width, int height)
   {
      this.Size = new Size(width, height);  // Tutaj jest poprawne
      // Size = new Size(int width, height); // Taki zapis VS zrozumie jednak platforma MONO już chyab nie bardzo
   }
}

tak więc slowo "this" tylko wskazuje o który obiekt chodzi.

Odp: Sądze że rekurencyjny
 
P-131719
« 1 »
  Strona 1 z 1