Advertisement
Guest User

Untitled

a guest
Jan 31st, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
D 1.38 KB | None | 0 0
  1. import std.stdio;
  2.  
  3. void main()
  4. {
  5.     ManClass manClass = new ManClass("Adam");
  6.     //1. Выделится память в куче нужного размера
  7.     //2. Вызовется конструктор ManClass.this(string name)
  8.     //2.1. Вызовется HumanClass.this(string name) потому что написано super()
  9.  
  10.     WomanClass womanClass = new ManClass("Eva");
  11.  
  12.     writeln(manClass.GetName()); //выведет Adam
  13.     writeln(womanClass .GetName()); //выведеь Eva
  14. }
  15.  
  16. //Базовый класс
  17. class HumanClass
  18. {
  19.     //Строка name определена в базовом классе
  20.     string name;
  21.     this(string name)
  22.     {
  23.         this.name = name;
  24.     }
  25.  
  26.     void talk()
  27.     {
  28.         writeln("Hello");
  29.     }
  30.  
  31.     string GetName()
  32.     {
  33.         return name;
  34.     }
  35. }
  36.  
  37.  
  38. class ManClass : HumanClass
  39. {
  40.     //эта строка не нужна, она присутсвует в базовом HumanClass классе
  41.     //string name;
  42.     this(string name)
  43.     {
  44.         super(name); // вызывем конструктор базового класса
  45.     }
  46.  
  47.     void job()
  48.     {
  49.         writeln("doing the job");
  50.     }
  51. }
  52.  
  53. class WomanClass : HumanClass
  54. {
  55.     //эта строка тоже не нужна
  56.     //string name;
  57.     this(string name)
  58.     {
  59.         super(name); // вызывем конструктор базового класса
  60.     }  
  61.  
  62.     void cook()
  63.     {
  64.         writeln("Cooking");
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement