Advertisement
WilleMahMille

Exempel arv/inheritance

Sep 13th, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.63 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Inheritance {
  8.    
  9.     //givet från uppgiften
  10.     public class Person {
  11.         protected string namn;
  12.         protected string ort;
  13.  
  14.         public Person() { } // Konstruktor 1
  15.         public Person(string namn, string ort) {// Konstruktor 2
  16.             this.namn = namn;
  17.             this.ort = ort;
  18.         }
  19.         public string Fakta() {
  20.             return "Namn: " + namn + " Ort: " + ort;
  21.         }
  22.     }
  23.  
  24.     public class Anställd : Person {
  25.         //konstruktor
  26.         public Anställd(int lön) {
  27.             this.lön = lön;
  28.         }
  29.         //lön, protected innebär att anbart de klasser som ärver av Anställd har tillgång till variabeln
  30.         protected int lön;
  31.         //skriver över Fakta() i person
  32.         public new string Fakta() {
  33.             return "Namn: " + namn + " Ort: " + ort + " Lön: " + lön;
  34.         }
  35.     }
  36.    
  37.     public class Försäljare : Anställd {
  38.         //konstruktor, eftersom Försäljare ärver från Anställd och Anställds konstruktor tar in ett argument,
  39.         //så behövs base(lön) för att skapa en anställd, och sedan utifrån den skapa en försäljare.
  40.         public Försäljare(int lön, int provision) : base(lön) {
  41.             this.provision = provision;
  42.         }
  43.         //provision
  44.         protected int provision;
  45.         //skriver över Fakta() i anställd
  46.         public new string Fakta() {
  47.             return "Namn: " + namn + " Ort: " + ort + " Lön: " + lön + " Provision: " + provision;
  48.         }
  49.     }
  50.  
  51.     class Program {
  52.         static void Main(string[] args) {
  53.             //antal objekt, öka med 1 varje gång ett objekt skapas
  54.             int antalObjekt = 0;
  55.  
  56.             //skapa en person och skriv ut information om personen
  57.             Person person = new Person();
  58.             antalObjekt++;
  59.             Console.WriteLine(person.Fakta());
  60.  
  61.             //skapa en anställd och skriv ut information om den anställda
  62.             Anställd anställd = new Anställd(10);
  63.             antalObjekt++;
  64.             Console.WriteLine(anställd.Fakta());
  65.  
  66.             //skapa en försäljare och skriv ut information om försäljaren
  67.             Försäljare försäljare = new Försäljare(20, 10);
  68.             antalObjekt++;
  69.             Console.WriteLine(försäljare.Fakta());
  70.  
  71.             //skriv ut antalet objekt
  72.             Console.WriteLine("Antal objekt: " + antalObjekt);
  73.  
  74.             //vänta på input för att sedan stängas
  75.             Console.ReadKey(true);
  76.         }
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement