Dr_Max_Experience

Is-a

Dec 25th, 2021 (edited)
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.73 KB | None | 0 0
  1. using System;
  2.  
  3. namespace ООП
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             Knight knight = new Knight(35, 8);
  10.             Barbarian barbarian = new Barbarian(20, 2, 5, 2);
  11.  
  12.             barbarian.TakeDamage(knight.Damage);
  13.             knight.TakeDamage(barbarian.Damage);
  14.  
  15.             barbarian.ShowInfo();
  16.             knight.ShowInfo();
  17.         }
  18.     }
  19.  
  20.     class Warrior
  21.     {
  22.         protected int Health; //protected тоже что и private, но доступно для наследования другими классами
  23.         protected int Armor;
  24.         public int Damage;
  25.  
  26.         public Warrior(int health, int armor, int damage) //Конструктор
  27.         {
  28.             Health = health;
  29.             Armor = armor;
  30.             Damage = damage;
  31.         }
  32.  
  33.         public void TakeDamage(int damage)
  34.         {
  35.             Health -= damage / Armor;
  36.         }
  37.  
  38.         public void ShowInfo()
  39.         {
  40.             Console.WriteLine(Health);
  41.         }
  42.     }
  43.  
  44.     class Knight : Warrior // : (двоеточие есть наследование)
  45.     {
  46.         public Knight(int health, int damage) : base(health, 5, damage)//Наследуем в конструктор через : из базового (base) класса. Значение armor изначально = 5
  47.         {
  48.  
  49.         }
  50.  
  51.         public void Pray()
  52.         {
  53.             Health += 10;
  54.         }
  55.     }
  56.  
  57.     class Barbarian : Warrior
  58.     {
  59.         public Barbarian(int health, int armor, int damage, int attackSpeed) : base(health, armor, damage * attackSpeed)
  60.         {
  61.  
  62.         }
  63.  
  64.  
  65.         public void Waagh()
  66.         {
  67.             Damage += 3;
  68.         }
  69.     }
  70. }
Add Comment
Please, Sign In to add comment