[C#] Interfejs
Ostatnio zmodyfikowano 2015-05-03 15:47
Steelgenesis Temat założony przez niniejszego użytkownika |
[C#] Interfejs » 2015-04-20 23:03:10 Cześć, mam pytanie dotyczące IComparable mianowicie public class Temperature : IComparable { 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 ? |
|
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 |
|
« 1 » |