Code covered by the BSD License  

Highlights from
Object oriented programming examples

image thumbnail

Object oriented programming examples

by

 

06 Dec 2010 (Updated )

examples from book: MATLAB and Simulink, 3e: User's Guide) by Bogumila and Zbigniew Mrozek

Auto.m
% Auto.m -- konstruktor klas, uywany przez m5
%-----------------------------------------------------------------
% Ponisze programy s przeznaczone do wykorzystania z ksik
% MATLAB i Simulink. Poradnik uytkownika. Wydanie III
% Autorzy: Bogumia Mrozek, Zbigniew Mrozek
% Helion, 2010  ISBN: 978-83-246-2564-2
%-----------------------------------------------------------------
%% m572 Definiowanie klasy Auto
%----------------------------------
classdef Auto
    %file Auto.m
    properties                     % atrybuty publiczne
        model
        zuzyciePaliwa100km
    end
    properties (GetAccess=private)
        rezerwaPaliwa     % atrybut prywatny, niedostpny poza klas
    end
    
    methods
        function a=Auto(Model,Zuzycie100km,Paliwo)
            % konstruktor dla klasy obiektw 'Auto'
            % przykad wywoania (call as):
            % Renault=Auto('Clio 1400 Economique',3.8,50);
            if nargin == 0 % nic nie robi
            elseif isa(Model,'Auto')
                a=Model; % utworzenie duplikatu obiektu
            else % przypisuje zadane wartoci polom obiektu
                a.model=Model;
                a.zuzyciePaliwa100km=Zuzycie100km;
                a.rezerwaPaliwa=Paliwo;
            end
        end
        %
        function pojazd=trasa(pojazd,odleglosc)
            % metoda 'trasa' dla obiektw nalecych do klasy 'Auto'
            % podaje ilo rezerwy paliwa po przejechaniu trasy
            % lub komunikat o koniecznoci zatankowania na trasie
            % funkcja trasa ma dostp do struktury z atrybutami obiektu
            % czyli do pl: zuzyciePaliwa100km, rezerwaPaliwa
            z=pojazd.zuzyciePaliwa100km;
            paliwo=odleglosc/100*z;
            rezerwa=pojazd.rezerwaPaliwa - paliwo;
            if rezerwa > 0
                pojazd.rezerwaPaliwa=rezerwa;
                display([pojazd.model,' dojechal, pozostalo paliwo /destination reached, not used fuel is/ ', ...
                    num2str(pojazd.rezerwaPaliwa),' litrow '])
            else
                przejechal=pojazd.rezerwaPaliwa/...
                    pojazd.zuzyciePaliwa100km*100;
                zabraklo=ceil(odleglosc-przejechal);
                pojazd.rezerwaPaliwa=0;
                display(['dotankuj ',pojazd.model,' - zabraknie paliwa na przejechanie /needed extra fuel for/ ', ...
                    num2str(zabraklo),' km'])
            end %if
        end % function
        %% 5.7.4  get,  set
        function out = getRezerwa(pojazd)
            % przykad wywoania (call as): rezerwa= getRezerwa(Renault,30)
            out = pojazd.rezerwaPaliwa;
        end % function
        %
        function pojazd = setRezerwa(pojazd,Paliwo)
        % przykad wywoania (call as): Renault= setRezerwa(Renault,30)
            pojazd.rezerwaPaliwa=Paliwo;
        end % function
        %
    end % methods
end % classdef

Contact us