Hjem Sosiale medier Grunnleggende strukturelle og atferdsbegreper i OO-design for iOS Apps - dummies

Grunnleggende strukturelle og atferdsbegreper i OO-design for iOS Apps - dummies

Innholdsfortegnelse:

Video: Overgrep i Barnevernet - Einar Salvesen, Herland Report 2024

Video: Overgrep i Barnevernet - Einar Salvesen, Herland Report 2024
Anonim

Objektorientert design har både strukturelle og atferdsbegreper som er svært nyttige i IOS-applikasjoner. Objektorientert design er en annen måte å designe programmer på, hvor oppførelsen er knyttet til objekter. Følgende definerer og forklarer kjerne-OO-terminologien mens du legger inn flere konsepter som fullfører byggeklossene til OO.

Objekt

En objekt er et individuelt identifiserbart element, enten ekte eller abstrakt, som inneholder data om seg selv og beskrivelser av dens manipulasjoner av dataene. Med andre ord kan et objekt enten være

  • Noe ekte og håndgripelig, som elementer i et kjøkken

  • Et rent konsept, som et matematisk konsept, som en integrert

Identifiserende objekter, er det første trinnet i å analysere et domene.

Hvert objekt betraktes som en forekomst av en klasse.

Klasse

A klasse er en beskrivelse av organisasjonen og handlingene som deles av en eller flere lignende gjenstander.

A type er et konsept som ligner på klassen, og de brukes ofte utveksling. Innen programmeringsspråk har en klasse også en teknisk betydning. Det er en mal av et objekt, der nye objekter kan opprettes. Konceptet av en type som er skilt fra en klasse er imidlertid fanget på mange programmeringsspråk (men ikke Objective-C) av en programmeringskonstruksjon kalt et grensesnitt.

Objektorientering har også begrepet en metaklass, hvis forekomster er klasser . Det er en metaklass i Objektiv-C-kalt klasse.

Abstraksjon

Når du identifiserer klassene av objekter og deres evner, vurder ikke de klassene eller evnene som ikke var relevante for domenet til aktiviteten. For eksempel er det usannsynlig at du ville ha brakt inn en klasse for å representere evnen til en tekanne å bli kastet hvis du skulle lage et program om å lage te.

Denne typen modellering hvor du ignorerer det som er irrelevant å fokusere på det som er relevant for et bestemt domene, er kjent som abstraksjon. Abstraksjon er en handling som identifiserer klassene (og typene) som trengs for å forme ned til de aspektene som er relevante for problemet.

Generalisering

Begrepet generalisering er eksemplifisert i forholdet mellom klassene Vessel og Teacup. Generalisering på et programmeringsspråk er demonstrert gjennom en mekanisme kjent som arv, som tillater at data og oppførsel av en klasse skal inkluderes i eller brukes som grunnlag for en annen klasse.

Flere programmeringsspråk har en rotklasse hvor alle klasser er arvet. I mål-C-rammen kalles klassen NSObject. NSObject er ekvivalent med klasseobjektet i Java.

A underklasse er en klasse som arver all funksjonalitet fra en annen klasse (kjent som superklasse ). Videre kan underklassen overstyre spesifikk funksjonalitet ved å sørge for egen implementering av visse metoder. Metoden til superklassen kan fortsatt bli kalt fra den overordnede metoden, hvis det er så fornuftig. Du kan også forlenge superklassens funksjonalitet ved å gi flere metoder, ved hjelp av flere medlemsvariabler, og så videre.

På samme måte kan en type (et grensesnitt ) også utvides ved bruk av en undertype. Her er ingen funksjonalitet overstyrt; Det er bare at subtypen har flere metoder som et objekt må implementere.

Et objekt lagrer vanligvis data, også kjent som sin -stat. Denne tilstanden er lagret i innehavere av data kjent som attributter.

Objekter (som definert av klasser) har også evner. En metode er en måte å få tilgang til denne evnen - med andre ord, å utføre et sett med instruksjoner som angir eller manipulerer en objekts attributter.

Andre objekter forårsaker at disse metodene skal utføres. De gjør det via meldingsforsendelse, som er prosessen der et objekt sender data til et annet objekt eller ber det andre objektet å påkalle en metode. Meldingen går forbi når et annet objekt kaller metoden til et objekt. Gjennomføring av et program begynner vanligvis med kallingen av en funksjon eller metode som heter main innenfor en bestemt klasse.

Abstraksjonsprosessen resulterer i opprettelse av klasser og typer. Klasser og typer har en mer karakteristisk: De begrenser deres bruk bare gjennom deres metoder og allment tilgjengelige attributter. Dette kalles innkapsling , en teknikk for å designe klasser og objekter som begrenser tilgangen til data og oppførsel ved å definere et begrenset sett med meldinger som et objekt av denne klassen kan motta.

Innkapsling forhindrer tilgang til internaler i en klasse og forhindrer at detaljene om hvordan klassen implementeres fra å være kjent. Innkapsling håndhever informasjon gjemmer seg, et annet nøkkelbegrep i objektorientering.

Abstrakt klasser tjener bare som spesifikasjoner som skal gjenbrukes av andre klasser. Du kan ikke lage objekter fra abstrakte klasser. Klasser hvor du kan lage objekter er kjent som konkrete klasser. Selvfølgelig er grensesnitt alltid abstrakt.

En søknad består av en samling av klasser av ulike typer. Objekter av disse klassene samhandler med hverandre for å implementere funksjonene i applikasjonen. Klassene som en klasse samhandler med er kjent som sine samarbeidspartnere .

Polymorfisme er evnen til ulike klasser å svare på samme melding, med hver klasse som implementerer metoden på riktig måte. Følgende linje tatt fra MakeDrinkableFood illustrerer dette konseptet:

For (i = 1; i <= numberOfEatingVessels; i ++) HeatingVessel.Gjøre (([EatingVessel objectAtIndex: i);

Når te blir gjort, er EatingVessel bundet til et vannkokerobjekt. Når suppe er laget, er EatingVessel bundet til et Tureen-objekt.

Det er nyttig å skille disse konseptene Konstruksjonskonseptene som forteller deg noe om sammensetningen av programmet og atferdsbegrepene som forteller deg noe om hvordan programmet fungerer. Begrepene abstraksjon, innkapsling, metaklass, klasse, type, objekt, arv og grensesnitt er alle strukturelle konsepter. Begrepene til en metode, meldingstasting og polymorfisme er atferdsbegrep.

Grunnleggende strukturelle og atferdsbegreper i OO-design for iOS Apps - dummies

Redaktørens valg

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Skjermbildet i QuickBooks Modify Report dialogboksen lar deg kontrollere rapportintervalldatoen, rapportgrunnlaget, kolonnene og en annen formatering. Bokstavene Rapporter datoområde - Datoer, Fra og Til - gjør det samme som Datoer, Fra og Til bokser i Rapportvinduet. Disse boksene lar ...

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Hvis du klikker Tilpass rapport, QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Redaktørens valg

Administrere Cloud Computing Resources - dummies

Administrere Cloud Computing Resources - dummies

I teorien bør cloud computing-tjenester ikke være forskjellig fra ressursene i din eget miljø, bortsett fra at de bor eksternt. Ideelt sett har du en komplett visning av cloud computing-ressursene du bruker i dag, eller vil kanskje bruke i fremtiden. I de fleste skymiljøer kan kunden bare få tilgang til ...

Tips for Going Cloud med datanettverkene dine - dummies

Tips for Going Cloud med datanettverkene dine - dummies

Beregning med datanettverket ditt kan være, hva skal du gjøre for å ta nettverket ditt mot skyen? Her er noen anbefalinger: Ikke stole på en dårlig Internett-tilkobling. Først og fremst, før du tar noen av nettverksoperasjonene i skyen, gjør du ...

Nettverkstjenester levert gjennom Cloud Computing - dummies

Nettverkstjenester levert gjennom Cloud Computing - dummies

Tre forskjellige typer nettverkstjenester kan leveres via skyen: applikasjoner , plattformer og tjenester (infrastruktur). I de følgende avsnittene beskrives disse tre typer skyttjenester i større detalj. Programmer i skyen Vanligvis kalt Software as a Service (SaaS), fullt funksjonelle applikasjoner kan leveres via skyen. En av ...

Redaktørens valg

10 Hadoop Ressurser verdt en bokmerke - dummies

10 Hadoop Ressurser verdt en bokmerke - dummies

Følgende er ti fantastiske Hadoop-ressurser som er verdige til å skape en bokmerke i nettleseren din. Disse ressursene hjelper deg med å skape en livslang læringsplan for Hadoop. Sentralnervesystemet: Apache. org Apache Software Foundation (ASF) er det sentrale fellesskapet for open source-programvareprosjekter. Ikke bare et prosjekt kan være et Apache-prosjekt - ...

Data transformasjon i Hadoop - dummies

Data transformasjon i Hadoop - dummies

Ideen om Hadoop-inspirerte ETL motorer har fått mye trekkraft de siste årene. Hadoop er trods alt en fleksibel datalagrings- og behandlingsplattform som kan støtte store mengder data og operasjoner på dataene. Samtidig er det feiltolerant, og det gir mulighet for kapital- og programvarekostnad ...

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Når du lagrer en fil i HDFS, bryter systemet det ned i et sett med individuelle blokker og lagrer disse blokkene i forskjellige slave noder i Hadoop-klyngen. Dette er en helt vanlig ting å gjøre, da alle filsystemer bryter filer ned i blokker før de lagres til disk. HDFS har ingen ...