classdef Auto

  % Private Eigenschaften
  properties ( Access = private )
    typ = '';
    baujahr = 0;
    kilometer = 0;
    geschwindigkeit = 0;
    benzin = 0;
  end
  % Öffentliche Eigenschaften
  properties ( Access = public )
    rufname = '';
  end

  % Methoden
  methods ( Access = public )
    % Konstruktor  
    function obj = Auto( typ, baujahr ) 
      obj.typ = typ;
      obj.baujahr = baujahr; 
      obj.kilometer = 0; 	    % 0 km 
      obj.geschwindigkeit = 0; 	% 0 km/h
      obj.benzin = 40;	        % 40 Liter im Tank  
      end

    function obj = beschleunigen( obj, wieviel ) 
      neueGeschwindigkeit = obj.geschwindigkeit + wieviel; 
      obj.geschwindigkeit = neueGeschwindigkeit;
    end
    
    function obj = plus( obj, val )
      obj.kilometer = obj.kilometer + val;
    end
   
    function disp( obj )
      fprintf( 'Objekt der Klasse Auto: \n' );
      fprintf( '   typ = %s;\n', obj.typ );
      fprintf( '   geschwindigkeit = %g;\n', obj.geschwindigkeit );
      fprintf( '   kilometer = %g;\n', obj.kilometer );
    end
   end

end
