Jump to content

C# POO - Lista com mais de um datatype


PauLinhu221

Recommended Posts

Boas, estou a tentar fazer uma lista para um inventário simples, mas deparei-me com o problema de que a Lista tem que levar um tipo. Sendo que tenho uma classe para cada item, como faria? Thanks in advance. (O código abaixo é um exemplo abstrato para o que pretendo, n foi compilado)

//Inventory.cs

public class Inventory {
    
    public List<Item> itemList;

    public Inventory() {
        
        itemList = new List<Item>();
    }
}


//Keyboard.cs

public class Keyboard {

  public int keys;

  public Keyboard() {
    
  	keys = 67;
    
  }
}

//Monitor.cs

public class Monitor {
  
  public int refreshRate;
  
  public Monitor() {
    
  	refreshRate=60;
    
  } 
}

 

Edited by PauLinhu221
Link to comment
Share on other sites

22 minutos atrás, bruno1234 disse:

Coloca as classes a extenderem de Item

public class Item {

    public class Keyboard : Item {
        
        public int keys;

        public Keyboard() {

            keys=67;

        }
    }
  
  	public class Monitor : Item {
        
        public int refreshRate;

        public Monitor() {

            refreshRate=60;

        }
    }
}

Assim?

Edited by PauLinhu221
Link to comment
Share on other sites

1 hora atrás, antseq disse:

Penso que seria melhor assim e em ficheiro separados:
public class Item { ... }
public class Keyboard : Item { ... }
public class Monitor : Item { ... }

Se tiveres propriedades comuns (id, serial, brand, category, color, size, ...) a todos os "Items" deves colocar em "Item".

cps,

Certo, e com a lista criada como acederia por exemplo á propriedade keys de um objeto do tipo Keyboard instanciado? Thx

Link to comment
Share on other sites

Podes criar uma interface com uma assinatura que todas as tuas classes são obrigadas a respeitar.
Por exemplo, todas implementaria a propriedade "keys".
 

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.