-
PROHARDVER!
Új hozzászólás Aktív témák
-
j0k3r!
őstag
elso ranezesre:
- felejtsd el az ilyen getValami jellegu dolgokat, a property get{} reszeben implementald az esetleges hibakezelo logikat (vagy private fuggvenyben, ha tobb helyen kell)
- ha mar exceptiont dobsz, akkor hasznalj try-catch blokkot
- az ilyen "m" es "f" jellegu dolgok helyett hasznalhatsz felsorolastipust (enum), csak ezekkel ovatosan kell banni
- az ilyen nev1, nev2, t, gy helyett hasznalj normalis valtozoneveket
- c#-ban osztaly, property neve altalaban pascalcase
- valtozok beolvasasanal, hasznalj tryparse fuggvenyeket (peldaul amikor stringbol intet varazsolsz)most igy hirtelen ennyi, ha valamit kihagytam majd megirjak masok, ezek alapjan szerintem mar el lehet indulni
-
Jim-Y
veterán
A konstruktoros dolog nem bonyolítaná a dolgokat, sőt.. egyszerűsítené.. így gondoltam:
class Ember
{
public string nev1; //személy neve
public string nev2; //házastárs
protected int ev1; // sz.kor
protected int ev2; //h.kor
protected string nem1; //sz.nem
protected string nem2; //h.nem
public string apa;
public string anya;
public List<string> t = new List<string>();
public List<string> gy = new List<string>();
//
// KONSTRUKTOR
public Ember(string nev1, string nev2, int ev1, int ev2, string nem1, string nem2){
// itt rögtön lehet ellenőrizni, hogy bevitt paraméterek megfelelőek-e, pl
this.nev1 = nev1;
this.nev2 = nev2;
if (ev1 > 1913 && ev1 < 1995) {
this.ev1 = ev1;
} else { throwExc("Hibás ev1"); }
this.ev2 = ev2;
this.nem1 = nem1;
this.nem2 = nem2;
}
// Getter, Setter fv-ek
public void throwExc(string ex) throw new Exception (ex);
}Ekkor a mainben tudsz csinálni:
Ember e = new Ember();
e.setev1(1950);
e.setev2(1960);
e.setnem1(m);vagy helyette
Ember f = new Ember("Gipsz","Jakab",1950,1960,"m","n"); // stb...
Persze ezeket fenntartásokkal kezeld, mert én még nem programoztam C#-ban és nem tudom, hogy például default konstruktor létre jön-e ilyenkor automatikusan, vagy létre kéne hozni stb.. De szerintem amit fentebb mutattam, konstruktorban megadni az adattagokat talán átláthatóbb
-
Jim-Y
veterán
Nem lenne jobb az ember adatait konstruktorban megadni? Illetve én még szétszedném a kódot külön osztályokba, és fájlokba.
mod: vagy csak simán add meg a default konstruktort ÉS egy olyan konstruktort amiben lehetőség van egyből inicializálni az Ember adattagokat.
Magyarán az ember egy külön osztály lenne (ez ugye most is így van a kódodban), de fizikailag egy külön fájlban lenne, máshol, mint ahol main.. A Program, és az Ember legyen elkülönült a progi modularitása miatt.
Ja és az osztályokat nagybetűvel szokás jelölni ^^
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- exHWSW - Értünk mindenhez IS
- Okos Otthon / Smart Home
- Windows 10
- Épített vízhűtés (nem kompakt) topic
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- BestBuy topik
- Melyik tápegységet vegyem?
- Sony MILC fényképezőgépcsalád
- Milyen belső merevlemezt vegyek?
- További aktív témák...
- HIBÁTLAN iPhone 14 Pro Max 256GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3513, 91% Akkumulátor
- RÉSZLETRE , KAMATMENTES , BANKMENTES Panasonic TOUGHBOOK FZ-55 MK3 FZ-55G6601BG Notebook
- BESZÁMÍTÁS! 32GB (2x16) G.Skill Ripjaws V 4000MHz DDR4 memória garanciával hibátlan működéssel
- Alienware M18 R1 QHD+ IPS 165Hz i9-13900HX 24mag 32GB 1TB Nvidia RTX 4070 8GB 140W Win11 Garancia
- SanDisk Extreme Portable 8TB (SDSSDE61-8T00-G25)
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest