Difference between revisions of "Objektorienteret Programmering"

From Teknologisk videncenter
Jump to: navigation, search
(Tirsdag d. 21. November)
Line 15: Line 15:
  
 
Send mig en mail på "mach@mercantec.dk" hvis i har spørgsmål.
 
Send mig en mail på "mach@mercantec.dk" hvis i har spørgsmål.
 +
 +
==Kode fra Onsdag d. 22. November==
 +
<source lang=Csharp>
 +
using System;
 +
using System.Collections.Generic;
 +
using System.Linq;
 +
using System.Text;
 +
using System.Threading.Tasks;
 +
 +
namespace OOP2
 +
{
 +
    class Machine
 +
    {
 +
        //Some code
 +
    }
 +
 +
    class Vehicle : Machine
 +
    {
 +
        protected string brand;
 +
        private double topSpeed;
 +
 +
        public string getBrand()
 +
        {
 +
            return brand;
 +
        }
 +
 +
        public void setBrand(string s)
 +
        {
 +
            this.brand = s;
 +
        }
 +
    }
 +
 +
    class Car : Vehicle
 +
    {
 +
        private int numberOfDoors;
 +
 +
        //Getters and Setters
 +
    }
 +
 +
    class Motorcycle : Vehicle
 +
    {
 +
        private double handlebarWidth;
 +
 +
        public Motorcycle()
 +
        {
 +
            brand = "Harley";
 +
        }
 +
        //Getters and Setters
 +
    }
 +
}
 +
 +
 +
namespace OOP2
 +
{
 +
    class Spaceship
 +
    {
 +
        private double speed = 40;
 +
        protected int barrelSize = 20;
 +
 +
        public virtual int FireWeapon()
 +
        {
 +
            Console.WriteLine("You fired " + barrelSize + " shots!");
 +
            return 0;
 +
        }
 +
    }
 +
 +
    class HeavySpaceship : Spaceship
 +
    {
 +
        private int secondBarrelSize = 10;
 +
       
 +
    }
 +
}
 +
 +
 +
class Pupil
 +
    {
 +
        protected string name;
 +
        protected int age;
 +
        protected double average;
 +
 +
        public Pupil(string name, int age, double average)
 +
        {
 +
            this.name = name;
 +
            this.age = age;
 +
            this.average = average;
 +
        }
 +
    }
 +
 +
    class UnivertyPupil : Pupil
 +
    {
 +
        public UnivertyPupil(string uName, int age, double average) : base(uName, age, average)
 +
        {
 +
        }
 +
    }
 +
</source>

Revision as of 13:05, 22 November 2017

Tirsdag d. 21. November

Jeg er syg idag, så vi laver lige en anderledes undervisningsdag. I skal læse en web-tutorial igennem, og derefter lave en lille opgave.

Begynd Her og fortsæt med at læse igennem til og med "interfaces". Husk at prøve koncepterne af i Visual Studio imens i læser. Vi tager en opsamling på koncepterne imorgen.

Når i bliver færdige med at læse, så begynd at kode følgende opgave (alene, eller sammen med en anden):

Lav kodestrukturen til et simpelt chatsystem (behøver bare at være lokalt på computeren). Der skal være følgende classes (men der må gerne være flere):

User - Indeholder oplysninger om de forskellige brugere og hvilke beskeder de har modtaget fra andre. Eksempler på værdier kunne være: "String name" "List<Message> messages"

Message - Oplysninger om de beskeder der er blevet sendt på netværket. Beskeden skal, udover beskedteksten, have oplysninger om hvilket rum den bliver sendt ud i, og hvem der har sendt beskeden.

Room - Oplysninger om de forskellige chatrooms. Her tænker jeg at hvert rum skal have et navn, og en liste over de forskellige Users der er til stede i det givne rum.

Send mig en mail på "mach@mercantec.dk" hvis i har spørgsmål.

Kode fra Onsdag d. 22. November

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OOP2
{
    class Machine
    {
        //Some code
    }

    class Vehicle : Machine
    {
        protected string brand;
        private double topSpeed;

        public string getBrand()
        {
            return brand;
        }

        public void setBrand(string s)
        {
            this.brand = s;
        }
    }

    class Car : Vehicle
    {
        private int numberOfDoors;

        //Getters and Setters
    }

    class Motorcycle : Vehicle
    {
        private double handlebarWidth;

        public Motorcycle()
        {
            brand = "Harley";
        }
        //Getters and Setters
    }
}


namespace OOP2
{
    class Spaceship
    {
        private double speed = 40;
        protected int barrelSize = 20;

        public virtual int FireWeapon()
        {
            Console.WriteLine("You fired " + barrelSize + " shots!");
            return 0;
        }
    }

    class HeavySpaceship : Spaceship
    {
        private int secondBarrelSize = 10;
        
    }
}


class Pupil
    {
        protected string name;
        protected int age;
        protected double average;

        public Pupil(string name, int age, double average)
        {
            this.name = name;
            this.age = age;
            this.average = average;
        }
    }

    class UnivertyPupil : Pupil
    {
        public UnivertyPupil(string uName, int age, double average) : base(uName, age, average)
        {
        }
    }