Skip to main content

Objektorientert programmering med Python (9788245051568)

Page 1


Objektorientert programmering med PYTHON

Objektorientertprogrammering medPython

Objektorientertprogrammering medPython

Copyright © 2024by

Vigmostad&BjørkeAS

AllRightsReserved

1.utgave2024/1.opplag2024

ISBN:978-82-450-5156-8

Grafiskproduksjon:JohnGrieg,Bergen

Omslagsdesign:EndreBarstad

ForfatterenharmottattstøttefraDetfaglitterærefond.

BokenerutgittmedstøttefraKunnskapsdepartementet vedLærebokordningenforhøyereutdanning.

Spørsmålomdennebokenkanrettestil: Fagbokforlaget

Kanalveien51 5068Bergen

Tlf.:55388800

e-post:fagbokforlaget@fagbokforlaget.no www.fagbokforlaget.no

Materialetervernetetteråndsverkloven.

Utenuttrykkeligsamtykkeereksemplarfremstilling baretillattnårdeterhjemletilovelleravtalemedKopinor.

Vigmostad&BjørkeASerMiljøfyrtårn-sertifisert, ogbøkeneerprodusertimiljøsertifisertetrykkerier.

Jegbegyntesåsmåttåprogrammeredajeggikkpåungdomsskolen, dengangiNotepadpåWindows98.MinvennHansPetterogjeg skrevnettsideriHTML3.0,ogselvomminnettside kalkunweb.com ble relativtålreit,forstodjegaldrihvordanhanfikktiltable-tag’en.

Mittførstemøtemedprogrammeringienfagligkontekstvar,utrolignok,iFlash/ActionScript3.0.Heleandreåretmittpåvideregående skrevvimerksnodigeskriptsomutrolignokfikkfigurertilåbevegeseg påskjermen.Detvarogsådetteåretjegforstodatdethet“while-løkker” ogikke“whælløkker”,somminlæreroftesa.

I2012startetjegmittinformatikk-studiumvedUniversitetetiOslo. Studietbødpåmangefagligeutfordringer,ogetterbådeoppturerog nedturer(jegserpådeg, Metoderigrafiskdatabehandlingogdiskret geometri )gikkjegutmedenmastergradi2017.

Detsomfengetmegmestunderstudietvarikkebarestudietselv,men ogsåmittarbeidsomgruppelærerikurseneomobjektorientertprogrammering.Åundervisesammenmeddyktigemedstudentersliksom AstridHeleneHolterogMalinAandahlgamegmotivasjonoginspirasjon.

Medlittflaks,myehjelpfrauniversitetslektorSiriMoeJensenogArbeidsmiljøloven§14-9endtejegtilsluttoppmedenfaststillingved UiO.I2021blejegtilbudtenstillingvedUiTiTromsøsomjegvalgteå tiltre,mensjegbeholdtkontaktenmedUiOgjennomenbistilling.

Idagerjegtakknemligforåfålovtilåunderviseinformatikkogprogrammeringtilbådebachelor-ogmasterstudenter.Åsenyestudenter kommeinniauditorietforførstegang,ogfemårseneresedesamme studenteneforlateuniversitetetmedenmastergradsomjegharbidratt til,gjørmegbådegladoglittvemodig.

Åskriveenbokeretstortarbeid,ogenspesielltakkmårettestilmin kjæreFridaE.Aasenforatjegharfåtttidtilarbeidet.Utenhennes hjelpogstøttevilleikkedetteprosjektetblittnoeav.

EnstortakkmåogsårettestilNorskfaglitterærforfatter-ogoversetterforening,somhargittstøttetilåskrivedenneboken.

Jeghåperdulikerdenneboken,atdenkanvekkenysgjerrighetoggi motivasjontilålære.

Omdenneboken

Idennebokenharjegtattformegdegrunnleggendekonsepteneiobjektorientertprogrammering,ogbrukerPythonsomprogrammeringsspråkforåvisehvordandukanbrukeobjektorientertprogrammering ipraksis.Dutrengerikkehaprogrammeringserfaringfrafør,forboken startermedeninnføringigrunnleggendeprogrammering.Hvisdukan dettefrafør,ogermerinteressertiåfordypedegidenobjektorienterte delen,såerdetbareåhoppeoverdenførstedelen.

Objektorientertprogrammeringeretprogrammeringsparadigmesom bleutvikletpå60-tallet,ogsomharsittutspringfraUniversiteteti Oslo.ProfessoreneOle-JohanDahlogKristenNygaardønsketåta programmeringennærmeredekonseptenevikjennerfradenvirkeligeverden.Deintrodusertebegrepeneklasserogobjekterforåkunne modellereprogrammerpåennaturligogoversiktligmåte.Idagerobjektorienteringetavdemestbrukteparadigmeneiprogrammeringsom benyttesbådeiforskning,undervisningognæringsliv.

Pythoneretspråksomermyebenyttetiundervisning,ettersomuttrykksformenispråketerrelativtnærtnaturligespråksomvibenytter idetdaglige.Språketbleførstutvikletpåsluttenav80-tallet,oger nåiversjon3.Pythonerbyggetoppsometutelukkendeobjektorientertspråk,ogegnersegderforgodtfordemsomønskeretlettfattelig språksomdekkerdeobjektorienterteprinsippenegodt.Utenomundervisningbenyttesdetmyeiforskningpågrunnavsingodestøttefor matematiskeogstatistiskeapplikasjoner,menogsåinæringslivetialt fraweb-programmeringtilkompleksesystemer.

Dennebokendekkerpensumidegrunnleggendeemneneiobjektorientertprogrammeringsomtypiskgisiløpetavdetførsteåretveduniversiteteroghøgskoler.Denerspesielttilpassetundervisningenslikden gisiNorge,ogharetlettfatteligspråkogkortekapitler.Hvertkapittel oppsummeresieksempeloppgaversomdetkanværenyttigågjørefor åbekrefteatmanharforståttdetmanharlest.

Takk!

HenrikHillestadLøvold,Tromsø,juni2024

TilElla

Innhold

IIntroduksjon

1Hvaerprogrammering?15

2Objektorientertprogrammering19

4Utsagn,variablerogdatatyper33

9Løkker73

IIIObjektorientertprogrammering

12Objekter101

13Klasser105 13.1Definereegnedatatyper....................

14Referanser113

15Objektorientertdesign125

16Modelleringogdokumentasjon137

17Etstørreobjektorientertsystem151

IVAvanserteobjektorienterteprinsipper

18Arv171

18.1Superklasserogsubklasser...................

18.1.1Flereklasserarverfrasammesuperklasse......

18.2Polymorfi............................

18.3Multippelarv..........................

18.3.1Diamantproblemet...................

18.3.2Enlitenadvarsel....................

18.4Operatoroverloading......................

18.4.1Likhetmellomobjekter................

19Avansertedesignmønstre189 19.1Arvogkomposisjon.......................

19.1.1Arv...........................

19.1.2Komposisjon......................

19.1.3Arvversuskomposisjon................

20Egnedatastrukturermedklasserogobjekter203 20.1Lenketliste...........................

20.1.1Oppbyggingavenlenketliste.............

20.1.2Fjerneobjekter.....................

20.1.3Andrelisteoperasjoner.................

20.2.1Rekursjonmedobjekter................

20.4Oppgaver............................

21Testingavobjektorienterteprogrammer211 21.1Enhetstesting..........................

21.1.1Åskriveenhetstester..................

Objektorientert programmering med Python er en lett tilgjengelig innføringsbok skrevet for å dekke pensum i grunnleggende objektorientert programmering ved universiteter og høgskoler.

Objektorientert programmering (OOP) organiserer kode rundt objekter, noe som gjør det lettere å modellere virkelige objekter og deres interaksjoner på en naturlig måte. OOP har fordeler som modularitet, gjenbrukbarhet, enkel feilsøking, skalerbarhet og bedre vedlikehold. Det ble utviklet ved Universitetet i Oslo på 60­tallet og har nå blitt det mest utbredte programmeringsparadigmet verden over. Python har en enkel og lesbar syntaks som gjør det svært brukervennlig. Det støtter fullt ut OOP og er derfor et velegnet språk for å lære og forstå objektorienterte prinsipper.

Du trenger ingen forhåndskunnskaper i programmering, da boken starter fra grunnleggende konsepter og bygger videre derfra. Så enten du er nybegynner uten programmeringserfaring eller mer erfaren og ønsker å dykke dypere inn i OOP med Python, vil denne boken være for deg. Boken er strukturert med korte og oversiktlige kapitler som følger progresjonen til et typisk grunnkurs i OOP. Hvert kapittel avsluttes med oppsummerende eksempeloppgaver, så du får testet forståelsen.

Henrik Hillestad Løvold er universitetslektor ved UiT – Norges arktiske universitet og Universitetet i Oslo. Han underviser begynneremner i programmering med Python.

Turn static files into dynamic content formats.

Create a flipbook
Objektorientert programmering med Python (9788245051568) by Fagbokforlaget - Issuu