Permalänk
Medlem

hjälp med klasser

Hej! håller på med ett projekt i skolan där man ska skapa bilar med hjälp av klass. Men nu har jag stött på ett litet problem.
Detta vill jag göra:
När jag skapar bilen ska Uthyrd = Nej.
Sedan vill jag kunna ändra bilen till Uthyrd = ja på en just en bil

Min tanke var först att jag skulle göra en så att när bilen skapas är Uthyrd = 0; och sedan 0 = Nej; och då när jag ändrar till Ja så sätts uthyrning till 1. Detta för att man inte ska kunna hyra sätta hur många dagar bilen ska vara uthyrd utan att den är markerad som uthyrd.

någon som har en idé om hur man kan göra detta på lättast sätt?

Permalänk
Medlem

Gör en privat bool "isBorrowed";

I konstruktorn gör du den till false, då kommer alla objekt som skapas ha false som default värde.

Sen kan du göra en funktion "Borrow", den kontrollerar först isBorrowed, om den är true kan "Borrow" funktionen returnera false, d.v.s. att man inte kunde låna bilen. Om isBorrowed är false kan den nya funktionen ändra isBorrowed till true och sedan returnera true, d.v.s. att man lyckades låna bilen.

Visa signatur

R7-3700X, B450M Mortar MAX, 32GB DDR4 @ 3200, RTX 2080, Corsair CX650M Rev2

Permalänk
Medlem

public class Car { private boolean Rented = false; public boolean parmRented(boolean _rented = Rented) { Rented = _rented; return Rented; } }

Så gör man i språket X++. Du använder inte X++ så läraren kommer inte godkänna svaret. Men det är ett kul exempel på setter och getter i en enda metod.

Xeno88s svar är bättre

Permalänk
Medlem
Skrivet av boomie:

Hej! håller på med ett projekt i skolan där man ska skapa bilar med hjälp av klass. Men nu har jag stött på ett litet problem.
Detta vill jag göra:
När jag skapar bilen ska Uthyrd = Nej.
Sedan vill jag kunna ändra bilen till Uthyrd = ja på en just en bil

Min tanke var först att jag skulle göra en så att när bilen skapas är Uthyrd = 0; och sedan 0 = Nej; och då när jag ändrar till Ja så sätts uthyrning till 1. Detta för att man inte ska kunna hyra sätta hur många dagar bilen ska vara uthyrd utan att den är markerad som uthyrd.

någon som har en idé om hur man kan göra detta på lättast sätt?

Beror väl på vilket språk du skriver i.
I C# kan du sätta default värden för dina properties, detta kommer att köras då objektet instansieras.
Sen sätter du en privat setter för denna property som du endast kan ändra via ett anrop till en metod t.e.x:
Använd booleans (true/false) och inte 0 och 1, även om booleans i grunden är en bit. Är enklare att förstå för mänskliga ögon.

var myCar = new Car(); myCar.RentCar();

Permalänk
Medlem

Vilket språk använder du?

Visa signatur

The first ten million years were the worst, and the second ten million years, they were the worst too. The third ten million I didn't enjoy at all. After that I went into a bit of a decline