OOP med Python (1)

HT19 - DA361A - OOP med Python (1) from Anton Tibblin

Dagens exempel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class Taxi:

    nr_taxi_cars = 0
    color = "Yellow"

    def __init__(self, driver_name, on_duty, cities, seats):
        self.driver = driver_name
        self.duty = on_duty
        self.seats = seats
        self.cities = cities
        self.passengers = 0
        Taxi.nr_taxi_cars = Taxi.nr_taxi_cars + 1

    @classmethod
    def get_nr_of_cars(cls):
        return cls.nr_taxi_cars

    def add_passengers(self, nr_new_passengers):
        if self.passengers + nr_new_passengers > self.seats:
            print("Det får inte plats så många!")
        else:
            self.passengers += nr_new_passengers

    def remove_passengers(self, nr_of_leaving_passengers):
        if nr_of_leaving_passengers > self.passengers:
            print("Det finns inte så många personer i bilen!")
        else:
            self.passengers -= nr_of_leaving_passengers

    def __str__(self):
        return "{} kör taxibilen som just nu har {} personer i sig".format(self.driver, self.passengers)
                
t1 = Taxi("Anton", True, ["Lund", "Staffanstorp", "Malmö"], 8)

print(t1)

t1.add_passengers(2)

print(t1)