25. februar 2004 - 21:11
Der er
14 kommentarer og 1 løsning
Instans variabler i abstract class
kan jeg lave instans variabler i en abstrakt klasse?? eks. protected int belob; public abstract class Optal { public int getNoget(){ return 0,0; } } Hvis ja: Hvordan for jeg så fat i dem fra sub-klasser?
Annonceindlæg fra Barco
Er jeres mødelokaler sikre nok?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
25. februar 2004 - 21:46
#1
Skulle det ikke se sådan ud: public abstract class Optal { protected int belob; public int getNoget() { return 0,0; } } Så skulle du i en subklasse bare kunne tilgå beloeb direkte, altså på denne måde: public class Optal2 extends Optal { public int getBeloeb() { return beloeb; } }
25. februar 2004 - 22:00
#2
Ja. På præcis samme måde som du ville bruge dem hvis de var instans variable i den afledte klasse - eneste krav er at visibility må ikke være private.
25. februar 2004 - 22:02
#3
Hvis scope (eller visibility) er private, skal du lave public get- og setmetoder til variablen
25. februar 2004 - 22:05
#4
I den abstrakte basis klasse.
25. februar 2004 - 22:09
#5
Tak arne_v. Det glemte jeg lige ;o)
Slettet bruger
25. februar 2004 - 23:06
#6
hrmmmmm, er det nu også helt sandt arne_v, kan get- og set-metoderne ikke nøjes med at være protected?
25. februar 2004 - 23:10
#7
Jo, selvfølgelig corholio! Endnu en forglemmelse fra min side. Jeg bruger næsten aldrig protected. Det er stort set altid public eller private.
25. februar 2004 - 23:27
#8
Nej. det kan du ikke. en variabel du definerer i en abstrakt klasse bliver automatisk static og final. Så medmindre det er meningen at de oprettede variable skal være det kan du ikke bruge dem til noget. Ups. her er jeg uenig med arne. Prøv det og se hvad der sker :-))
Slettet bruger
25. februar 2004 - 23:29
#9
og det vil jeg så være uenig med dig i jakobA.... det er (så vidt jeg husker) kun interfaces der gør variabler public, static og final
25. februar 2004 - 23:34
#10
Og som sædvanlig har arne ret. Det er i interfaces enhver variabel er final static.
26. februar 2004 - 09:07
#11
get og set skal selvfølgelig kun være non-private i denne sammenhæng men jeg ville normalt undgå protected get og set, enten protected variabel eller private variabel og public get og set. Ikke public get og set metoder er ikke bean compliant og kode som bruger reflction og forventer en bean kan få problemer.
27. februar 2004 - 13:54
#12
hmm... Det er fedt at I hjælper med at besvare spørgsmålet - men ingen af jer har angivet at det er et svar...?
27. februar 2004 - 14:25
#13
du kan jo bede om et svar
27. februar 2004 - 14:30
#14
Hvorfor spørge hvis man ikke ønsker svar? *gg* Kan bier bestøve kødædende planter? Hvis ja - er det så at betragte som et engangsknald?
27. februar 2004 - 14:34
#15
Var der ikke andre som også havde fortjent ?
Kurser inden for grundlæggende programmering