Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2018-04-16, 16:54
  #13
Medlem
Citat:
Ursprungligen postat av Douknowme
Så jag behöver alltså en Animal konstruktor eller?

Ska du följa det du sagt innan om uml diagrammet så ska du inte göra så. Utan helt enkelt hårdkoda in vilken favoritmat som respektive djur har. T.ex. Katt har fisk, hund har katt, osv.
Citera
2018-04-16, 17:23
  #14
Medlem
Citat:
Ursprungligen postat av Gottisborgen
Ska du följa det du sagt innan om uml diagrammet så ska du inte göra så. Utan helt enkelt hårdkoda in vilken favoritmat som respektive djur har. T.ex. Katt har fisk, hund har katt, osv.

Ja okej!

så kan göra såhär?

Kod:
class Dog Animals
    
{
        private 
string preferfood;
        public 
string PreferFood
        
{
            
get { return preferfood; }
            
set
            
{
                
preferfood value;
            }
        }     

          
//eller ska jag bara göra en private string Preferfood="Meat";

        
public Dog(string nameint age)
        {
            
this.name name;
            
this.age age;
        }            

        public 
override void Interact()
        {
            
Console.WriteLine("Playing with {0} WOFF WOOFF"name);          
        }

        public 
override string ToString()
        {
            return 
base.ToString(); 
        }
    } 
Citera
2018-04-16, 17:24
  #15
Medlem
tj.s avatar
Citat:
Ursprungligen postat av Douknowme
Så jag behöver alltså en Animal konstruktor eller?


Kod:
Tänker jag fel nu kanske?

abstract class 
Animals
    
{
       public 
Animals(string name,string breed,string favfood)
        {
            
this.name name;
            
this.breed breed;
            
this.fav_food favfood;
        }

class 
Dog Animals
    
{
        public 
Dog(string nameint age,string fav_food,string breed) :base(name,breed,fav_food)
       {
            
this.age age;         
        } 
Det känns inte som att du ens vill förstå vad jag försöker förklara för dig. Du ska inte skicka med matpreferens i konstruktorn överhuvudtaget. För att förtydliga: Du ska inte skicka med matpreferens i konstruktorn överhuvudtaget. Och ännu en gång: Du ska inte skicka med matpreferens i konstruktorn överhuvudtaget.

Jag har ju redan visat exakt hur du ska göra här och här. Det du försöker åstadkomma är inte polymorfism. Googla det begreppet och ställ frågor om det är något i det du inte förstår. Just nu känns det som att prata med en vägg.
Citera
2018-04-16, 19:22
  #16
Medlem
Citat:
Ursprungligen postat av tj.
Det känns inte som att du ens vill förstå vad jag försöker förklara för dig. Du ska inte skicka med matpreferens i konstruktorn överhuvudtaget. För att förtydliga: Du ska inte skicka med matpreferens i konstruktorn överhuvudtaget. Och ännu en gång: Du ska inte skicka med matpreferens i konstruktorn överhuvudtaget.

Jag har ju redan visat exakt hur du ska göra här och här. Det du försöker åstadkomma är inte polymorfism. Googla det begreppet och ställ frågor om det är något i det du inte förstår. Just nu känns det som att prata med en vägg.

Fick de inte att fungera för att mina fields är protected. Har gjort precis som du gjort men de står då
"cannot change acces modifiers when overriding protected inherited members"

Kod:
Abstract class Animals 
{
protected abstract 
string Fav_food {get;}
}

Class 
Dog:Animals
{
   public 
override string fav_food => "Meat";

Citera
2018-04-16, 19:38
  #17
Medlem
tj.s avatar
Citat:
Ursprungligen postat av Douknowme
Fick de inte att fungera för att mina fields är protected. Har gjort precis som du gjort men de står då
"cannot change acces modifiers when overriding protected inherited members"

Kod:
Abstract class Animals 
{
protected abstract 
string Fav_food {get;}
}

Class 
Dog:Animals
{
   public 
override string fav_food => "Meat";

Felmeddelandet är självförklarande. Läs det igen...
Citera
2018-04-16, 19:54
  #18
Medlem
Citat:
Ursprungligen postat av tj.
Felmeddelandet är självförklarande. Läs det igen...

jag vet, men den måste ju vara protected..

Hur gör jag för att komma runt de? Behöver hjälp.. sorry för att jag är efterbliven men tyckte de var svårt med polymorphism hehe
Citera
2018-04-16, 19:57
  #19
Medlem
tj.s avatar
Citat:
Ursprungligen postat av Douknowme
jag vet, men den måste ju vara protected..

Hur gör jag för att komma runt de? Behöver hjälp.. sorry för att jag är efterbliven men tyckte de var svårt med polymorphism hehe
Varför har du gett din subklass en public modifier om det ska vara protected då?
Citera
2018-04-16, 20:31
  #20
Medlem
Citat:
Ursprungligen postat av tj.
Varför har du gett din subklass en public modifier om det ska vara protected då?

haha tack som faaaaaaaaan! Förlåt för att jag är så förbannat trög, bjuder på en öl å shot sen
Citera
2018-05-19, 16:04
  #21
Medlem
När jag letade efter hjälp med mitt uppdrag (Joppes djurfamilj v2), hittade jag att du också hade något problem med detta uppdrag. Jag hoppas att du redan är klar med det. Är det möjligt för dig att hjälpa mig lite med denna uppdrag snälla? Jag håller fast på olika ställen och försöker mitt bästa att lösa det men kunde inte hitta någon utväg.
Citera
2018-05-19, 16:12
  #22
Medlem
tj.s avatar
Citat:
Ursprungligen postat av Turboforce
När jag letade efter hjälp med mitt uppdrag (Joppes djurfamilj v2), hittade jag att du också hade något problem med detta uppdrag. Jag hoppas att du redan är klar med det. Är det möjligt för dig att hjälpa mig lite med denna uppdrag snälla? Jag håller fast på olika ställen och försöker mitt bästa att lösa det men kunde inte hitta någon utväg.
Om du skriver vad du behöver hjälp med, och hur du har försökt lösa det, är jag säker på att det finns folk som är villiga att hjälpa dig.
Citera
2018-05-24, 10:40
  #23
Medlem
Citat:
Ursprungligen postat av Douknowme
Fick de inte att fungera för att mina fields är protected. Har gjort precis som du gjort men de står då
"cannot change acces modifiers when overriding protected inherited members"

Kod:
Abstract class Animals 
{
protected abstract 
string Fav_food {get;}
}

Class 
Dog:Animals
{
   public 
override string fav_food => "Meat";


För att lära dig att skriva säkrare kod bör du sätta allt som private i början. Man ska bara visa det som är nödvändigt. När du får felmeddelande som det ovan så säger den klart och tydligt att den inte har tillgång till Fav_food. Det man gör då är att släppa till mer tillgång. Har man satt något till private kan man prova att sätta den till protected internal, sen fortsätter man tills det fungerar. Sista utvägen är att sätta den public. Då har allt tillgång till den. Det kan låta som ett ickeproblem i ditt exempel, men om du sätter allt till public i en mer avancerad applikation sen, så är det väldigt lätt att skriva en kodsnutt som manipulerar din funktion. Inte så kul om det handlar om en transaktion t.ex. Lär dig därför allt om private, protected, internal samt public, och att strypa åt åtkomster som inte är nödvändiga.
Citera
2018-05-24, 12:27
  #24
Moderator
Protons avatar
Citat:
Ursprungligen postat av Turboforce
När jag letade efter hjälp med mitt uppdrag (Joppes djurfamilj v2), hittade jag att du också hade något problem med detta uppdrag. Jag hoppas att du redan är klar med det. Är det möjligt för dig att hjälpa mig lite med denna uppdrag snälla? Jag håller fast på olika ställen och försöker mitt bästa att lösa det men kunde inte hitta någon utväg.
Så vad är problemet som sagt?

Har du läst igenom tråden och kollat på diskussionen? Är du säker på att svaren på dina eventuella frågor inte finns däri?
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback