Structured Programmering kontra objektorienterad programmering
Objektorienterad programmering (OOP) och strukturerad programmering är två programmeringsparadigm. Ett programmeringsparadigm är en grundläggande stil inom datorprogrammering. Programmeringsparadigm skiljer sig åt i hur varje element i programmen representeras och hur steg definieras för att lösa problem. Som namnet antyder fokuserar OOP på att representera problem som använder 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ödelseåret för strukturerad programmering är 1970. Strukturerad programmering anses vara en delmängd av imperativ programmering. Ett strukturerat program är uppbyggt av enkla programflödesstrukturer, som är hierarkiskt organiserade. De är sekvens, urval och upprepning. Sekvens är en ordning av uttalanden. Urval innebär att välja en sats från en uppsättning satser baserat på det aktuella tillståndet i programmet (för att t.ex. använda if-satser) och upprepning innebär att exekvera en sats tills ett visst tillstånd uppnås (för t.ex. använda for eller while-satser). ALGOL, Pascal, Ada och PL/I är några av de strukturerade programmeringsspråk som används idag.
Vad är objektorienterad programmering?
I OOP ligger fokus på att tänka på problemet som ska lösas i termer av verkliga element och att representera problemet i termer av objekt och deras beteende. Klasser skildrar abstrakta representationer av verkliga objekt. Klasser är som ritningar eller mallar, som samlar liknande föremål eller saker som kan grupperas tillsammans. Klasser har egenskaper som kallas attribut. Attribut implementeras som globala variabler och instansvariabler. Metoder i klasserna representerar eller definierar beteendet hos dessa klasser. Metoder och attribut för klasser kallas medlemmarna i klassen. En instans av en klass kallas ett objekt. Därför är ett objekt en datastruktur som liknar något verkligt objekt.
Det finns flera viktiga OOP-koncept som Dataabstraktion, Encapsulation, Polymorphism, Messaging, Modularity och Inheritance. Vanligtvis uppnås inkapsling genom att göra attributen privata, samtidigt som man skapar offentliga metoder som kan användas för att komma åt dessa attribut. Arv tillåter användaren att utöka klasser (kallade underklasser) från andra klasser (kallade superklasser). Polymorfism tillåter programmeraren att ersätta ett objekt i en klass i stället för ett objekt i dess superklass. Norm alt blir substantiven som finns i problemdefinitionen direkt klasser i programmet. Och på liknande sätt blir verb metoder. Några av de mest populära OOP-språken är Java och C.
Vad är skillnaden mellan strukturerad programmering och objektorienterad programmering?
Nyckelskillnaden mellan strukturerad programmering och OOP är att fokus för strukturerad programmering är att strukturera programmet i en hierarki av underprogram medan fokus för OOP är att bryta ned programmeringsuppgiften i objekt, som kapslar in data och metoder. OOP anses vara mer flexibel än strukturerad programmering, eftersom OOP separerar ett program i ett nätverk av delsystem snarare än att strukturera programmet i en hierarki. Även om strukturering ger viss tydlighet, kan en liten ändring av ett mycket stort strukturerat program orsaka en krusningseffekt av att behöva ändra flera underprogram.