Ez a c# kód mit jelent? Könyvben van de nem értem?
using System;
namespace TestApp
{
class MyClass
{
public int x;
}
class Program
{
static void Main(string[] args)
{
MyClass s = new MyClass();
s.x = 10;
MyClass p = s;
p.x = 14;
Console.WriteLine(s.x);
Console.ReadKey();
}
}
}
Aha..
És enek hol lehet utánna nézeni emrt nincs a könyvben több erről én meg nem merek addig továbbmenni amig nem értem
Ha az ember éppen elkezd az OOP-vel foglalkozni, akkor még szerintem ez a kód nagyon magas.
Tényleg ne menj tovább, adattaggal, metódussal, osztályszintű, példányszintű, adatrejtés, SOLID elvek, öröklődés - ezekkel foglalkozz előbb.
Egyébként az osztály nem értéktípus, hanem referenciatípus.
Így p példánynak nem az s értéke kerül átadásra, hanem az s-re mutató referencia.
Így ha a p példány adattagjának értékét megváltoztatod, és s-ét kéred le, azt fogod tapasztalni, hogy nini, megváltozott az is. Ami a háttérben lényegében ugyanaz.
Mint egy pointer. Igazából nem az, nagyon nem, de jelen esetben hasonlóan viselkedik.
Írj egyszerű osztályokat, pl. Animal nevű osztály, ennek privát adattagja age és name, hozzá GetAge(), SetAge(int value), GetName(), SetName(string value).
Tudom, hogy C# és nem Java, de először érdemes gettereket, settereket írni, ha azt érted, utána property, ha azt is, utána auto implemented property. Én tavaly nagyjából ilyenkor a property-kkel kezdtem, akkor még totál autodidakta. Kb 3 hónapon át nem értettem.
Ha az Animal osztályt megírtad getterekkel, setterekkel, utána írj egy virtual metódust, hogy pl. MakeSound().
Ha az megvan, akkor utána öröklés. Cat, Dog. Kísérletezd ki, hog mit, hogyan örököl.
Esetleg tedd Abstractá az Animalt, legyen benne abstract method. Nézd meg, mi történik.
Legyen interface, IWalkable, benne egy metódus, Walk().
Implementálja a Cat és a Dog osztály, de a Fish már ne.
Na jó, kijött belőlem a nem létező tanítói ösztön.
A lényeg, hogy egyelőre tényleg ne menj tovább.
Ilyesmivel próbálkozz (persze nem a legszebb):
https://pastebin (pont) com/kxxe0ScE
Csak a külön osztályokat külön fájlokba.
((Tudom, a címéből lehagytam egy s-t.))
Utolsó válaszát kiegészítve:
Keresd meg youtubon a Sanfransiscoból jöttem csatornát. Nem C# ,hanem java, de az oop elmélete ugyanaz.
A srác úgy elmagyarázza rövid videókban az egészet, hogy azonnal megértessz mindent.
Amikor egyetemen voltam csak néztem, h mi a @ ez.
Szóval érdemes rákeresned, mert nem nagykn fogsz olyan anyagokat tálalni amik tenyleg érthető módon magyarázzák el, kezdőknek.
Szerintem ez is marha jó:
Kár, hogy nekem akkor mutatták, amikor már elég jól értettem az OOP-t, amikor pedig Reiter könyvéből szenvedtem autodidakta, akkor még nem ismertem.
Az egyetemen jövő héttől indul papíron (UML) és C++, nagyon kíváncsi leszek.
Lehet. De olvasva kevésbé tanul jól az ember és nem úgy jegyzi meg. Azert jó, ha egyszerre hallod, látod, és csinálod is.
Sokkal jobb olyan videókból tanulni, ahol főleg olyanok magyaraznak akik a Te korosztályod, illetve ebbe dolgoznak!
Akit mondtam csatornát tényleg profi. Aki teljesen hülye a proghoz az is megérti. Most itt vannak leirva definíciók amiket küldtél oldalt. Egy kezdő úgyse érti meg.
Ez a tipikus magyar oktatás. Ott a könyv tanuld be, lexikáld be. Na, ha jó oktató anyagokat nézel. És tenyleg van rengeteg a neten, sok fizetős sok ingyenes sok angol. Akkor nem ezt fogod tapasztalni.
Ezért mondtam h inkább azt keresse meg. :)
Programozáshoz az írott anyag összehasonlíthatatlanul jobb, semmit nem ad a videó, legfeljebb elveszi a copy paste lehetőségét. Másik kedvencem amikor 2 hónapja programozik és nekiáll tutorial videókat gyártani, meg persze az is fontos hogy legyen face cam, mindenképp látnom kell miközben pötyög.
Rákerestem az említett csatornára, egy fokkal jobb az átlagnál, pl lambda videó közel 11 perc, ebből az első 5 percet ahogy van be lehet süríteni 30 másodpercbe, legfeljebb, a maradék 6 percet meg 1-1,5 percbe(akkor ha életedben nem hallottad még a lamdba kifejezést). Plusz a magyarázat amit levág hozzá teljesen összeszavarja azt aki nem ért hozzá, úgy tűnik mintha a lambdának semmi hátránya nem lenne, az interface meg ugyanazt tudná mint a lambda, csak többet kéne pötyögni hozzá, a gyakorlatban meg azért létezik mindkettő mert mindkettőnek megvan a helye.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!