Podstawy popularnych języków programowania obiektowego

Organizacja plików źródłowych

W języku C++ dobrą praktyką jest definiowanie każdej klasy w dwóch plikach. Jeden z nich zawiera interfejs klasy, drugi jej implementację. Podobną konwencję przyjmuje również język Objective-C. Z kolei języki późniejszej generacji, jak Java, C# i Ruby, całą klasę najczęściej realizują w jednym pliku.

Mając daną klasę o nazwie Instrument, w C++ interfejs przechowujemy w pliku Instrument.h a implementację w Instrument.cpp. Sytuację we wszystkich językach podsumowuje poniższa tabela.

Język Interfejs Implementacja
C++ Instrument.h Instrument.cpp
Objective-C Instrument.h Instrument.m
Java Instrument.class wspólny plik
C# Instrument.cs wspólny plik
Ruby Instrument.rb wspólny plik

Co zamieszczamy w pliku z interfejsem?

  • deklaracje zmiennych prywatnych,
  • prototypy funkcji,
  • importy bibliotek zawierających deklarowane typy,
  • makrodefinicje, stałe jawne, deklaracje zmiennych zewnętrznych,
  • deklaracje typów złożonych (struct, union, enum, class),
  • szablony funkcji.

Co zamieszczamy w pliku z implementacją?

  • ciała metod,
  • inicjalizację zmiennych statycznych,
  • importy bibliotek używanych w implementacji.