Strukturerad programmering mot objektorienterad programmering
Objektorienterad programmering (OOP) och Structured Programming är två programmeringsparadigmer. Ett programmeringsparadigm är en grundläggande typ av datorprogrammering. Programmeringsparadigmer skiljer sig åt hur varje del av programmen representeras och hur steg definieras för att lösa problem. Som namnet antyder fokuserar OOP på att representera problem med användning av verkliga objekt och deras beteende, medan Structured Programming handlar om att organisera programmet i en logisk struktur.
Vad är strukturerad programmering?
Det antas att födelsåret för Structured Programming är 1970. Strukturerad programmering anses vara en delmängd av imperativ programmering. Ett strukturerat program består av enkla programflödesstrukturer, som är hierarkiskt organiserade. De är sekvens, urval och repetition. Sekvens är en ordningsföljd. Urval innebär att välja ett uttalande från en uppsättning uttalanden baserat på programmets aktuella tillstånd (för att exempelvis använda om uttalanden) och upprepning innebär att utföra ett uttalande tills ett visst tillstånd uppnås (t.ex. ALGOL, Pascal, Ada och PL / I är några av de strukturerade programmeringsspråk som används idag.
Vad är Objektorienterad programmering?
I OOP fokuserar man på att tänka på problemet som ska lösas när det gäller verkliga element och representerar problemet när det gäller föremål och deras beteende. Klasser visar de abstrakta representationerna av verkliga världsobjekt. Klasser är som ritningar eller mallar, som samlar liknande saker eller saker som kan grupperas tillsammans. Klasser har egenskaper som heter attribut. Attributen implementeras som globala och instansvariabler. Metoder i klasserna representerar eller definierar beteendet hos dessa klasser. Metoder och attribut för klasser kallas klassens medlemmar. En förekomst av en klass kallas ett objekt. Därför är ett objekt en datastruktur som nära liknar något verkligt objekt.
Det finns flera viktiga OOP-begrepp som Data Abstraktion, Encapsulation, Polymorphism, Messaging, Modularity och Arv. Typiskt uppnås inkapsling genom att göra attributen privata, samtidigt som man skapar offentliga metoder som kan användas för att få tillgång till dessa attribut. Erfarenhet gör att användaren kan förlänga klasser (kallad underklasser) från andra klasser (kallad superklasser). Polymorfism tillåter programmeraren att ersätta ett objekt av en klass i stället för ett objekt av sin superklass. Vanligtvis blir substantiverna i problemdefinitionen direkt klasser i programmet. Och på samma sätt blir verben metoder. Några av de mest populära OOP-språken är Java och C #.
Vad är skillnaden mellan strukturerad programmering och objektorienterad programmering?
Den viktigaste skillnaden mellan strukturerad programmering och OOP är att strukturerad programmering är att strukturera programmet till en hierarki av delprogram, medan OOP fokuserar att bryta ned programmeringsuppgiften i objekt som inkapslar data och metoder. OOP anses vara mer flexibelt än strukturerad programmering, eftersom OOP separerar ett program i ett nätverk av delsystem istället för att strukturera programmet i en hierarki. Även om struktureringen ger viss klarhet kan en liten ändring i ett mycket stort strukturerat program orsaka en krusningseffekt av att behöva ändra flera delprogram.