Professional Documents
Culture Documents
Szkriptnyelvek: Dr. Dombi József Dániel Antal Gábor
Szkriptnyelvek: Dr. Dombi József Dániel Antal Gábor
Szegedi Tudományegyetem
Informatikai Intézet
Szoftverfejlesztés Tanszék
2018
Szegedi Tudományegyetem
Informatikai Intézet
Szoftverfejlesztés Tanszék
2018
Nyílt szabvány
(Object Management Group – OMG által)
Teljes szoftverfejlesztési életciklust támogatja
Különböző alkalmazási területekre alkalmazható
Hatalmas tapasztalati tudásra épít
Sok eszköz támogatja
(Rose, MSVC, Visio, GDPro, Together, dia, Eclipse, NetBeans, Visual
Paradigm. . . )
Támogatók: Rational, HP, IBM, Microsoft, Oracle, Platinum, TI,
Sun, DEC,. . .
Bővebben: https://en.wikipedia.org/wiki/List_of_Unified_
Modeling_Language_tools
Kurzus
nyitott : bool
hallgatoFelvetel()
hallgatoTorles()
Kurzusok
Kurzus
nyitott : bool
hallgatoFelvetel()
hallgatoTorles()
Kurzus
nyitott : bool J oktat
Oktato Tanszek
hallgatoFelvetel() * 1 * 1
hallgatoTorles()
Oktato Hallgato
MotorGepJarmu ViziJarmu
KeteltuJarmu
Problémák adódhatnak
Pl.:
név ütközések
többszörösen örökölt operációk, attribútumok
Megoldható: C++ virtuális öröklődés
Kevésbé karbantartható kódhoz vezet
csak akkor szabad használni, ha tényleg szükséges, de akkor is csak
nagy odafigyeléssel
Pythonban is használható, azonban csak a legvégső esetben érdemes
20.0
20.0
20.0
20.0
20.0
20.0
tomb = [ " alma " , " korte " , " dinnye " ]
p r i n t _ p a r a m e t er 2 ( tomb )
p r i n t ( ’ --- ’)
p r i n t _ p a r a m e t er 2 (* tomb )
d e f k u l c s _ e r t e k _ a r g u m e n t u m o k (** kwargs ):
p r i n t ( ’A fuggveny az alabbi param eterekke l lett meghivva ’)
f o r kulcs , ertek i n kwargs . items ():
p r i n t ( kulcs , ’ -> ’ , ertek )
tomb = {
’ elso ’: ’ alma ’ ,
’ masodik ’: ’ korte ’ ,
’ harmadik ’: ’ dinnye ’
}
p r i n t _ p a r a m e t er 2 ( tomb )
p r i n t ( ’ --- ’)
p r i n t _ p a r a m e t er 2 (** tomb )
c l a s s Osztaly2 ( o b j e c t ): # orokles
pass
c l a s s Taska ( o b j e c t ):
d e f info ( self ):
p r i n t ( " Ez egy taska . " )
d e f info ( self ):
p r i n t ( " Ez egy taska . " )
d e f info ( self ):
p r i n t ( " Ez egy taska . " )
d e f berak_atveres ( targy ):
p r i n t ( " Ugy teszek , mintha beraknam a kovetkezo targyat : " , targy )
en_taskam = Taska ()
en_taskam . berak ( " Konyv " )
en_taskam . hatizsak = True
en_taskam . berak = berak_atveres
en_taskam . berak ( " laptop " )
en_taskam . keres ( " laptop " )
d e f __str__ ( self ):
r e t u r n " Ez egy taska , amiben % d elem van " % l e n ( self . tartalma )
en_taskam = Taska ()
p r i n t ( en_taskam )
en_taskam . berak ( " tolltarto " )
p r i n t ( en_taskam )
c l a s s Ember ( o b j e c t ):
fizet es_emele s = 1.04
d e f __init__ ( self , nev , ig_szam ):
self . nev = nev
self . ig_szam = ig_szam
True
c l a s s Vezet ő ( Ember ):
pass
c l a s s Vezet ő ( Ember ):
fizet es_emele s = 1.10
d e f __init__ ( self , nev , ig_szam , beosztas ):
s u p e r (). __init__ ( nev , ig_szam )
# Ember . _ _ i n i t _ _ ( nev , ig_szam )
self . beosztas = beosztas
v = Vezeto ( " Zsolt " , " 123456 AA " ," vezet ő " )
i s i n s t a n c e (v , Vezeto ) # True
i s i n s t a n c e (v , Ember ) # True
i s s u b c l a s s ( Vezeto , Ember ) # True
d e f fahrenheit ( self ):
r e t u r n ( self . get_ h om er se kl e t () * 1.8) + 32
d e f g et _h om e rs ek le t ( self ):
r e t u r n self . _homerseklet
d e f s et _h om e rs ek le t ( self , value ):
i f value < -273:
p r i n t ( " -273 fok alatti homerseklet nem lehet " )
else :
self . _homerseklet = value
c1 = Celsius (30)
p r i n t ( c1 . fahrenheit ())
c1 . s e t_ ho me rs e kl et ( -1000)
86.0
-273 fok alatti homerseklet nem lehet
@property
d e f homerseklet ( self ):
p r i n t ( " Lekerjuk " )
r e t u r n self . _homerseklet
@homerseklet . setter
d e f homerseklet ( self , value ):
i f value < -273:
p r i n t ( " Nem lehet -273 foknal hidegebbet beallitani " )
else :
p r i n t ( " Beallitjuk " )
self . _homerseklet = value
c1 = Celsius (30)
c1 . homerseklet = 100
p r i n t ( c1 . homerseklet )
Beallitjuk
Lekerjuk
100
Szkriptnyelvek 2018 Objektumorientált tervezés Objektumorientáltság Python nyelven
59 / 60
Köszönöm a figyelmet!
Szkriptnyelvek 2018 60 / 60