Интерфейс IComparable - как в программе происходит сравнение по health - C#
Формулировка задачи:
Здравствуйте! Подскажите пожалуйста , как в данной программе происходит сравнение по health ? ( программа рабочая )
В классе Monster конструктором Monster создаются три объекта , это мне знакомо , понимаю . Но как логически увязать вот эту часть кода :
со сравнением по health не пойму . Каким образом , для чего нужно в логике программы return ?
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Pavlovs_199
- {
- class Monster : IComparable
- {
- public Monster(int health, int ammo, string name)
- {
- this.health = health;
- this.ammo = ammo;
- this.name = name;
- }
- virtual public void Passport()
- {
- Console.WriteLine("Monster {0} \t health = {1} ammo = {2}",
- name, health, ammo);
- }
- public int CompareTo(object obj) // реализация интерфейса
- {
- Monster temp=(Monster)obj;
- if (this.health>temp.health) return 1;
- if (this.health<temp.health) return -1;
- return 0;
- }
- string name;
- int health, ammo;
- }
- class Class1
- {
- static void Main()
- {
- const int n = 3;
- Monster[] stado = new Monster[n];
- stado[0] = new Monster(50,50,"Вася");
- stado[1] = new Monster(80,80,"Петя");
- stado[2] = new Monster(40,10,"Маша");
- stado[0] = new Monster(50, 50, "Вася");
- stado[1] = new Monster(80, 80, "Петя");
- stado[2] = new Monster(40, 10, "Маша");
- Array.Sort(stado); // сортировка стала возможной
- foreach (Monster elem in stado) elem.Passport();
- Console.ReadKey();
- }
- }
- }
Листинг программы
- public int CompareTo(object obj) // реализация интерфейса
- {
- Monster temp=(Monster)obj;
- if (this.health>temp.health) return 1;
- if (this.health<temp.health) return -1;
- return 0;
- }
Решение задачи: «Интерфейс IComparable - как в программе происходит сравнение по health»
textual
Листинг программы
- Monster[] stado = new Monster[n];
- stado[0] = new Monster(50,50,"Вася");
- stado[1] = new Monster(80,80,"Петя");
- stado[2] = new Monster(40,10,"Маша");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д