Forum huvudsida -> Programmering -> Fråga ang. objekthantering(?)
Sidor: 1
InDigo176 | 17:03 - 12:a November 2007 | Post #1 | |
Medlem Inlägg: 72 Skicka PM |
Hallå! Jag tänkte ställa en liten fråga som jag undrat över ett tag. Det är så att jag har läst lite Java-exempel och stött på den här kodsnutten:
Då undrar jag varför skaparen av denna kod använt sig av funktioner för att man ska kunna kontrollera variablerna istället för att göra variablerna publika. Finns det någon förklaring till det? Brukar man göra såhär? Tack på förhand! ------------------------- Sebban |
Independence | 17:17 - 12:a November 2007 | Post #2 | |
Administratör Inlägg: 1800 Skicka PM |
Det anses väl som bra programmering enligt klassisk OO har jag för mig. Man brukar nämna saker som att man kan byta namn på variablerna utan att det märks för folk som bygger kod mot din klass, att du kan bygga in kontroller så att vettiga värden sparas i variablerna så att du säkert vet att ingen utomstående stoppar i saker som kommer göra att koden inte fungerar som den ska och lite sånt. Man brukar prata om att man bygger "svarta lådor", man gömmer de interna bitarna i klasserna och visar bara en del funktioner för att anropa olika funktioner. Varje klass sköter sin bit utan att blanda sig i andra klasser, och på så sätt kan man lätt byta ut klasser eller programmera olika klasser parallellt. I mindre projekt eller där man bara är en person som utvecklar en kort stud kanske man inte ser några fördelar med en gång, men det är säkert god vana att göra så. ------------------------- Vi är riddarna som säger fiskbulle! |
InDigo176 | 17:19 - 12:a November 2007 | Post #3 | |
Medlem Inlägg: 72 Skicka PM |
Ok, då vet jag. Tack för svaret! ------------------------- Sebban |
FunkyChicken | 21:30 - 12:a November 2007 | Post #4 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Jag hade en lång och itensiv diskussion med min föreläsare i java om detta. Han hävdade (på goda grudner) att det är god java-praxis att aldrig ha publika variabler, och jag hävdade på på minst lika goda grunder (tyckte jag alltså) att koden blir helt horribelt äcklig om man måste använda funktionsanrop för att komma åt variabler som klassen ändå aldrig ändrar på. Det stora felet ligger förstås i designen av java. I C# VB.NET etc kan man ju göra properties vilket IMHO är J,,TTEBRA. Det slutade fö med att vi enades om att publika variabler är att föredra i vissa fall och att jag fick skriva som jag ville, men det är nog ändå inte rekommenderat då det strider mot "standarden". Nu när vi läser MATLAB har lärarna inte ens velat avslöja att man kan göra globala variabler... |
Slash | 22:17 - 12:a November 2007 | Post #5 | |
Medlem Inlägg: 141 Skicka PM |
Att ge ett solitt och konsekvent klassgränssnitt är, tycker jag, väldigt viktigt och det ger inte publika variabler. Får man så mycket get/set-metoder att man tycker det blir en börda kan det vara idé att se över sin design. De gånger jag tycker det kan vara befogat att ha publika variabler är i en privat inre klass, då det inte påverkar klassens gränssnitt mot resten av programmet. ,,ven för väldigt enkla klasser (t ex. Point då det enda vettiga är en x- och en y-medlem) skulle jag kunna ha överseende med det. Må väl ------------------------- Ingen sigantur! |
Sidor: 1
Forum huvudsida -> Programmering -> Fråga ang. objekthantering(?)
Du får inte posta i den här tråden | Till toppen
Datum
2024-04-29 12:59
Vecka: 18
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.