Java's interfaces substituting multiple inheritance

Niiranen, Sami Javan liittymät moniperinnän korvaajana Jyväskylä: Jyväskylän yliopisto, 2013, 25 s. Tietojärjestelmätiede, Kandidaatintutkielma Ohjaaja(t): Hirvonen, Pertti Tässä kandidaatintutkielmassa käsitellään ohjelmointikielissä esiintyvän liittymän (interface) ja moniperinnän (multiple inheri...

Full description

Bibliographic Details
Main Author: Niiranen, Sami
Format: Bachelor Thesis
Language:English
Published: 2013
Subjects:
Online Access:http://urn.fi/URN:NBN:fi:jyu-201305141621
Description
Summary:Niiranen, Sami Javan liittymät moniperinnän korvaajana Jyväskylä: Jyväskylän yliopisto, 2013, 25 s. Tietojärjestelmätiede, Kandidaatintutkielma Ohjaaja(t): Hirvonen, Pertti Tässä kandidaatintutkielmassa käsitellään ohjelmointikielissä esiintyvän liittymän (interface) ja moniperinnän (multiple inheritance) eroja. Java-ohjelmointikieli ei tue moniperintää, vaan käyttää vaihtoehtoisesti liittymiä mallintamaan monimutkaisempia rakenteita. Tutkielmassa asetetaan molemmat tekniikat vastakkain ja havainnollistetaan niiden avainerot esimerkkien avulla. Oliosuuntautunut suunnittelu Javan liittymiä käyttäen on tutkielmassa isossa osassa. Tutkielma perehtyy myös ohjelmointikielten historiaan kyseisten tekniikoiden osalta, ja kuinka laajasti liittymiä käytetään Java-alustassa. Tutkimuksen pohjana on käytetty ohjelmointikirjallisuutta ja lähteitä oliosuuntautuneesta suunnittelusta. Esitettyjä käsitteitä havainnollistetaan kaavioilla ja käytännön esimerkeillä. Tutkielma edellyttää perustietämystä olio-ohjelmoinnista. Tutkielman johtopäätökset luodaan erilaisten skenaarioiden pohjalta, joista nähdään molempien tekniikoiden hyvät ja huonot puolet. Tutkielmassa pyritään tarjoamaan ylläpidettäviä ja laajennettavia ratkaisuja oliosuuntautuneessa suunnittelussa ilmeneviin ongelmiin, mutta myös vaihtoehtoisia lähestymistapoja. Niiranen, Sami Java's interfaces substituting multiple inheritance Jyväskylä: University of Jyväskylä, 2013, 25 p. Information Systems Science, Bachelor's Thesis Supervisor(s): Hirvonen, Pertti This thesis' purpose is to address the difference between programming language concepts interface and multiple inheritance. The Java -programming language does not support multiple inheritance, but rather relies on interfaces to simulate more complex hierarchies. The thesis compares these techniques against each other, and elaborates the key differences through examples. Using interfaces in objectoriented design plays a big part in the thesis. The thesis also delves in to the history of programming languages regarding these techniques, and examines the current use of interfaces in the Java platform. Programming literature and several object-oriented design sources have been used to construct the thesis. Concepts in the thesis are described more thoroughly with diagrams and practical examples. Basic knowledge of object-oriented programming is required from the reader. Conclusions in the thesis are made based upon different scenarios, that are meant to describe both advantages and disadvantages of the techniques. The thesis strives to offer maintainable and extendable solutions to recurring problems in object-oriented design, but to also give examples of alternative approaches.