Innholdsfortegnelse:
Video: Programmering 1 - C# Klasser, en introduktion 2025
Java er objektorientert. Hva betyr det? I motsetning til språk, som FORTRAN, som fokuserer på å gi datamaskinen viktige "Do this / Do that" kommandoer, fokuserer objektorienterte språk på data. Selvfølgelig, objektorienterte programmer forteller fortsatt datamaskinen hva de skal gjøre. De starter imidlertid ved å organisere dataene, og kommandoene kommer senere.
Objektorienterte språk er bedre enn "Gjør dette / Gjør det" språk fordi de organiserer data på en måte som gjør at folk gjør alle slags ting med det. For å endre dataene kan du bygge videre på det du allerede har, i stedet for å skrape alt du har gjort, og begynne hver gang du trenger å gjøre noe nytt. Selv om dataprogrammerne generelt er smarte mennesker, tok de en stund å finne ut dette.
Objekter og deres klasser
I et objektorientert språk bruker du objekter og for å organisere dataene dine.
Tenk deg at du skriver et dataprogram for å holde oversikt over husene i en ny villautvikling (fortsatt under bygging). Husene varierer bare litt fra hverandre. Hvert hus har en særegende sidevifte, en innendørs malingfarge, en kjøkkenskapsstil og så videre. I ditt objektorienterte dataprogram er hvert hus et objekt.
Men objekter er ikke hele historien. Selv om husene skiller seg litt fra hverandre, deler alle husene samme karakteristikkliste. For eksempel har hvert hus et kjennetegn som er kjent som sidefarge. Hvert hus har en annen egenskap kjent som kjøkkenskapsstil. I ditt objektorienterte program trenger du en hovedliste som inneholder alle egenskapene som et husobjekt kan besitte. Denne mesterliste over egenskaper kalles en klasse.
Så der har du det. Objektorientert programmering er misnavnet. Det burde virkelig kalles "programmering med klasser og objekter. "
Legg merke til at ordet klasser ble oppført først? Tenk igjen om en boligutvikling som er under bygging. Et sted på mye, i en uhøflig trailer som er parkert på barsk smuss, er en hovedliste over egenskaper som kalles en blåkopi. Arkitektens tegning er som en objektorientert programmerings klasse. En tegning er en liste over egenskaper som hvert hus vil ha. Tegningen sier, "sidespor. "Den faktiske husobjektet har grå sidespor. Blåkopien sier, "kjøkkenskap. "Den faktiske huset objektet har Louis XIV kjøkkenskap.
Et år etter at du opprettet tegningen, bruker du den til å bygge ti hus. Det er det samme med klasser og objekter. Først skriver programmøren kode for å beskrive en klasse. Da når programmet kjører, oppretter datamaskinen objekter fra klassen (tegning).
Så det er det virkelige forholdet mellom klasser og objekter. Programmereren definerer en klasse, og fra klassen definisjonen gjør datamaskinen individuelle objekter.
Hva er så bra om et objektorientert språk?
Tenk deg at du allerede har skrevet et dataprogram for å holde oversikt over bygningsinstruksjonene for hus i en ny utvikling. Deretter bestemmer den store sjefen om en endret plan - en plan hvor halvparten av husene har tre soverom, og den andre halvparten har fire.
Hvis du bruker den gamle FORTRAN / C-stilen for dataprogrammering, ser du instruksjonene slik ut:
Grav et grøft for kjelleren.
Legg betong rundt sidene av grøften.
Sett to-for-fire langs sidene for kjellerens ramme.
…
Dette ville være som en arkitekt som lager en lang liste med instruksjoner i stedet for en blueprint. For å endre planen må du sortere gjennom listen for å finne instruksjonene for å bygge soverom. For å gjøre ting verre, kunne instruksjonene spres mellom sider 234, 394-410, 739, 10 og 2. Hvis byggeren måtte dechifrere andre folks kompliserte instruksjoner, ville oppgaven være ti ganger vanskeligere.
Begynn med en klasse, men er som å begynne med en blueprint. Hvis du bestemmer deg for å ha både tre- og fire-roms hus, kan du starte med en tegning kalt huset plan som har en etasje og en andre etasje, men har ingen innendørs vegger trukket i andre etasje. Deretter lager du to andre etasjesblåkrykk - en for tre-roms huset og en annen for fire-roms huset. (Du nevner disse nye tegningene 3-roms hus blåkopi og fire soverom hus blåkopi.)
Dine byggerkollegaer er overrasket over din logikk og organisasjon, men de har bekymringer. De stiller et spørsmål. "Du ringte en av tegningene til" tre-roms huset "-blåkopien. Hvordan kan du gjøre dette hvis det er en tegning for andre etasje og ikke for et helt hus? "
Du smiler bevisst og svarer," Tre-roms husblåkopi kan si, "For informasjon om de nederste etasjene, se det opprinnelige husblåkopi. På den måten beskriver tre-romshusblåkopien et helt hus. Huset med fire soverom kan si det samme. Med dette oppsettet kan vi dra nytte av alt arbeidet vi allerede gjorde for å lage det opprinnelige husblåkopi og spare mye penger. “
I språket for objektorientert programmering er tre- og fire-romshusklassen arve funksjonene i den opprinnelige husklassen. Du kan også si at de tre- og fire-roms husklassen er utvider den opprinnelige husklassen.
Den opprinnelige husklassen kalles superklasse av tre- og fire-romshusklassen.I den venen er tre- og fire-romshusklassen underklasser av den opprinnelige husklassen. På en annen måte kalles den opprinnelige husklassen forelderklassen av tre- og fire-roms husklasser. De tre-og fire-roms hus klassene er barn klasser av den opprinnelige huset klassen.
Unødvendig å si, er hjemmebyggerens kollegaer sjalu. En mengde hjemmebyggere er mobbing rundt deg for å høre om dine gode ideer. Så, i det øyeblikket, slipper du en ekstra bombeskall: "Ved å lage en klasse med underklasser, kan vi gjenbruke blåkopien i fremtiden. Hvis noen kommer sammen og ønsker et fem-roms hus, kan vi utvide vårt opprinnelige husblåkopi ved å lage et fem-roms husblåkopi. Vi må aldri bruke penger på et originalt husblåkopi igjen. "
" Men, "sier en kollega i bakre raden," hva skjer hvis noen ønsker en annen første etasje design? Skyller vi det opprinnelige husblåkopi eller begynner å skrible over den opprinnelige planen? Det koster store penger, ikke sant? "
I en selvsikker tone svarer du:" Vi trenger ikke å rote med det opprinnelige husblåkopi. Hvis noen vil ha et boblebad i stuen, kan vi lage en ny, liten tegning som bare beskriver den nye stuen og kaller dette Jacuzzi-i-stuen hus blåkopi. Deretter kan denne nye tegningen referere til det opprinnelige husblåkopi for informasjon om resten av huset (den delen som ikke er i stuen). "I det objektorienterte programmeringsspråket utvider boblebad-i-stuen husblåkopien fortsatt det opprinnelige husblåkopi. Jacuzzi-planen er fortsatt en underklasse av det opprinnelige husblåkopi. Faktisk gjelder all terminologi om superklasse, foreldre klasse og barneklasse fortsatt. Det eneste som er nytt er at boblebadsplanen overstyrer stuen i den opprinnelige husblåkopien. I dagene før objektorienterte språk opplevde programmeringsverdenen en krise i programvareutvikling. Programmører skrev kode, så oppdaget nye behov, og måtte deretter kaste sin kode og starte fra grunnen av. Dette skjedde igjen og igjen fordi koden som programmererne skrev, ikke kunne gjenbrukes. Objektorientert programmering endret alt dette til det bedre.
