26. januar 2008 - 20:05Der er
8 kommentarer og 1 løsning
Nedarve klasser
Hej
Jeg er igang med at lave en config klasse, som indeholder nogle funktioner til at skrive og læse i en xml fil. Min hoved klasse skal indeholde f.eks. Users, resolution og setup klasser. Jeg kan sagtens nedarve de andre klassers metoder til min hoved klasse. Men hvordan laver jeg det sådan, at hoved klassen ikke indeholder alle metoder som klasserne indeholder. Men noget ala det her
Config_Class cfg = new Config_Class(); cfg.Users.Add("Et eller andet", "Password); cfg.Resolution.Change("1024*768");
I stedet for (Som det er nu) cfg.AddUsers("Et eller andet", "Password);
Ja, men man ikke jo ikke sætte en klasse til at være protected... Jeg vil lave det sådan at jeg kun kan tilgå User klassen igennem hoved klassen. Og sådan som det er nu, bliver der ikke nedarvet noget
public class AppConfiguration { User _user = new User(); public AppConfiguration() { // // TODO: Add constructor logic here // } public User Users { get { return _user; } set { _user = value; } } }
public class User { public User() { //Constructor } public void AddNewUser(string name, string password) { } public void DelExistingUser(string name) { } public void EditPasswordOnUser(string name, string newPassword) { } public System.Collections.Generic.List<String> GetAlleUsers() { return null; } }
public class AppConfiguration { CUser _user = new CUser(); CAppFile _appFile = new CAppFile(); public AppConfiguration() { // // TODO: Add constructor logic here // } public CUser Users { get { return _user; } set { _user = value; } } public CAppFile AppFile { get { return _appFile; } set { _appFile = value; } } public class CUser { public CUser() { //Constructor } public void AddNewUser(string name, string password) { } public void DelExistingUser(string name) { } public void EditPasswordOnUser(string name, string newPassword) { } public System.Collections.Generic.List<String> GetAlleUsers() { return null; } } public class CAppFile { public CAppFile() { //Constructor logic } public bool IsAppFilePresent() { if (File.Exists(@"AppFile.xml")) return true; return false; } public void MakeNewAppFile() { XmlDocument docXML = new XmlDocument();
Mener hvis du laver CUser til protected, at at du stadig burde have adgang til den, men ikke sikker ... er lige kommet hjem fra en arbejds weekend på 35 timer ... zzzz
Du har allerede tidligere accepteret et andet svar ... så alt er i den fineste orden.
// ouyT
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.