Abstrakti luokka ja periminen...helpohko?

Hannele Koistinen

Olen opiskellut itsenäisesti hieman Javan perusteita ja nyt ajattelin kokeilla oliohjelmointia. No tietysti törmäsin ongelmaan periytymisessä ja tarvitsisinkin apuanne.

Yritän saada antamani String merkkijonon käännetyksi toisinpäin ReverseCrypt aliluokassa. Muutoin kyllä saan ohjelman toimimaan, mutta haluan, että luokka yliluokka Crypt on abstrakti.

Eli mikä mättää allaolevassa koodissa:

Pääohjelma
[code]
import java.io.*;

public class Paa
{
public static void main(String[]args) throws IOException

{

BufferedReader LUE = new BufferedReader(new InputStreamReader(System.in));
      
String Text;
String kaannettu;
      
System.out.println("Anna teksti:");
Text=(LUE.readLine());
      
kaannettu=ReverseCrypt.decrypt(Text);

System.out.println("Antamasi teksti toisinpäin on " kaannettu);
   
   }
}
[/code]

Abstrakti luokka Crypt

[code]
abstract class Crypt
{

String Text;
   
public abstract String decrypt(String Text);

   
}
[/code]

ReverseCrypt luokka jossa käännös tapahtuu

[code]

class ReverseCrypt extends Crypt
{

private String kaannos;

String decrypt(String Text)
{
kaannos=Text;

StringBuffer kaannos = new StringBuffer(Text);
return kaannos.reverse().toString();

}

}
[/code]

Eli missä vika :(

6

495

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • juu

      Vika ei ole abstraktissa metodissa vaan ihan muualla. Aliluokkasi ei toteuta abstraktin luokan metodia ja aliluokan oliota ei ole luotu.

      • Hannele

        Eikö toteuta......eli miten se kuuluisi mennä?


      • Piru
        Hannele kirjoitti:

        Eikö toteuta......eli miten se kuuluisi mennä?

        abstract class GraphicObject {
        int x, y;
        ...
        void moveTo(int newX, int newY) {
        ...
        }
        abstract void draw();
        }

        Each nonabstract subclass of GraphicObject, such as Circle and Rectangle, must provide an implementation for the draw method:

        class Circle extends GraphicObject {
        void draw() {
        ...
        }
        }

        Ei kait sulla muuta eroa ollut, kuin public metodin edessä siellä abstractissa luokassa


      • juu
        Hannele kirjoitti:

        Eikö toteuta......eli miten se kuuluisi mennä?

        Metodeissa on eri näkyvyysmääreet (public ja private):

        public abstract String decrypt(String Text)
        String decrypt(String Text)


    • Yehat

      ReverseCrypt-luokassa on myös kaksi samannimistä oliota:
      private String kaannos
      StringBuffer kaannos

      • juu

        Huonoa tyyliä, mutta kieliopillisesti tuo on ok.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. en vaan saa häntä pois

      Mielestäni pyörimästä. Onko kellekään toiselle käynyt näin? Ihastuin pakkomielteisesti noin vuosi sitten erääseen naiseen. Ei vaan katoa mielestä va
      Ikävä
      176
      2066
    2. Suomi24 kysely: ihmisten kuplautumista ei pääosin koeta vakavaksi ongelmaksi

      “Kuplautumista on mahdotonta estää. Ihmiset ovat aina viihtyneet samankaltaiset arvot ja maailmankatsomuksen jakavassa seurassa ja muodostaneet sen pe
      Suomi24 Blogi ★
      36
      1728
    3. Ohhoh! Glamourmalli Elena, 29, teetti tiimalasivartalon - Vei rahaa ja tuotti tuskaa - Katso kuvat!

      Transtaustainen glamourmalli Elena Vikström on käynyt vuosien ajan plastiikkakirurgisissa toimenpiteissä. Tästä näet lopputuloksen: https://www.suomi
      Kotimaiset julkkisjuorut
      10
      1402
    4. Ostiko Martina uuden ponin tyttärelleen, vai oliko myös Stefan itsekkin valitsemassa ponia .?

      Kiva kun on tyttärelle mielekäs harrastus annettu, ehkä vielä on tulevaisuudessa hänelle tärkeä ja valitsee sen perusteella tulevan ammatin.
      Kotimaiset julkkisjuorut
      229
      1200
    5. Sinä olet tärkeä

      Herätät minussa kunnioitusta. Kiehdot minua. En oikein saa kiinni sinusta. Ehkä juuri siksi. Aistin että sinäkin pidät minusta. Vetovoima on ollut alu
      Ihastuminen
      59
      1198
    6. Varisjärvellä mersu.

      Varisjärven tiellä tuli vanhamersu kylkiedellä mutkassa vastaan ja vähällä keulaan mutta tökkäs penkkaan, hyppäsin omasta autosta ulos ja kävin kiskas
      Suomussalmi
      16
      1041
    7. Mitähän ajattelet J

      Tästä kaikesta? Mä välitän susta oikeasti.
      Ikävä
      60
      959
    8. Belorf haistattaa seuraajiaan "You can hate me now"...

      Vai haistattaako lompakkoa, joka taisi viimeinkin ymmärtää häipyä Sofian ulottumattomiin ? Sofia raukka on niin typerä, että ottaa nostetta "omasta tv
      Kotimaiset julkkisjuorut
      58
      957
    Aihe