projekt z C++ przerobić na jave, pomocy

0

Mam napisany program w C++, obiektowo oczywiście, i mam go teraz napisać w Javie. Niestety ni w ząb nie znam się na javie.

Pierwszym moim pytanie jest:

  • w C++ stosuje się pliki nagłówkowe *.h lub *.hpp. Prowadzący na zajęciach uznał, że jeśli w plikach .h mamy to jak wygląda klasa i nie mamy implementacji metod klasy, to jest to interfejs. Znalazłem informacje w internecie, że w Javie nie ma czegoś takiego jak pliki nagłówkowe. Moje pytanie jest więc takie: jak zrobić tak interfejs, bo myślałem, że przy projektowaniu w C++ aby coś było interfejsem musi mieć słówko interface, a tu się okazuje, że nie koniecznie.
0

W javie możesz tworzyć interfejsy w podobnmy sposób co w c++:

// MyInterface.java
public interface MyInterface{
   public void myMethod();
}
// MyClass.java
public class MyClass implements MyInterface{
   public void myMethod(){
      System.out.println("MyMethod were called!");
   };
}

Reszta w kursie:
Podstawy Javy

0

Tak naprawdę w języku C++ nie istnieje pojęcie interfejsu. Pojęcie to zostało zaimportowane właśnie z javy i innych języków "bardziej obiektowych" od C++ w których istnieje słowo kluczowe "interface". W C++ ścisłym odpowiednikiem interfejsu jest klasa abstrakcyjna czysto wirtualna (wszystkie metody są virtualne i abstrakcyjne). I oczywiście jej deklaracja istnieć zasadniczo tylko w plikach .h lub .hpp. Jeżeli istnieje w .cpp, to oznacza, że ktoś uczynił interfejs prywatnym dla pliku lub statycznym, czyli prywatnym dla pakietu.

0

ok, pojawił się następny problem.

Jak załadować obrazek do projektu? Cały dzień przeglądam różne strony w poszukiwaniu sensownego wyjaśnienia, ale niestety nie mogę znaleźć żadnej konstruktywnej odpowiedzi.

Mój program:

import java.awt.*;
import java.awt.event.*;

public class Main extends Frame
{
	public static final long serialVersionUID = 1L;
	final static int WIDTH = 640;
	final static int HEIGHT = 480;


      public Main( )
      {
            addWindowListener(new MyWindowAdapter( ));
      }

      public static void main(String args[ ])
      {
            Main app = new Main( );
            app.setSize(new Dimension(WIDTH, HEIGHT));
            app.setTitle("Gra");
            app.setVisible(true);
      }

      public void init( )
      {
      }

      public void start( )
      {
      }

      public void paint(Graphics g)
      {
      }

      public void stop( )
      {
      }

      public void destroy( )
      {
      } 

}

class MyWindowAdapter extends WindowAdapter
{


      public void windowClosing(WindowEvent e)
      {
            System.exit(0); } 

}

1 użytkowników online, w tym zalogowanych: 0, gości: 1