Modellierung und Simulation - Objektorientierte Programmierung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K Ulrich.schneider@hshl.de verschob die Seite Modellbildung und Simulation - Objektorientierte Programmierung nach Modellierung und Simulation - Objektorientierte Programmierung |
|||
| Zeile 13: | Zeile 13: | ||
* Ort, | * Ort, | ||
* Geburtsdatum [Array aus 3 Zahlen]. | * Geburtsdatum [Array aus 3 Zahlen]. | ||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Person.m </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium">classdef Person | |||
% Eigenschaften | |||
properties | |||
name = ''; | |||
telnr = 0; | |||
end % properties | |||
% Methoden | |||
methods | |||
% Konstruktor | |||
function o = Person( name, telnr ) | |||
o.name = name; | |||
o.telnr = telnr; | |||
end | |||
function print( o ) | |||
fprintf( 'Name: %s, Tel.Nr.: %g.\n', ... | |||
o.name, o.telnr ); | |||
end | |||
function info( o ) | |||
fprintf( 'Telefonnummer %g gehört zu %s.\n', ... | |||
o.telnr, o.name ); | |||
end | |||
end % methods | |||
end % classdef | |||
</source> | |||
|} | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | {| role="presentation" class="wikitable mw-collapsible mw-collapsed" | ||
| <strong>Musterlösung 9.1 </strong> | | <strong>Musterlösung 9.1 </strong> | ||
Version vom 23. Mai 2025, 06:23 Uhr
| Autor: | Prof. Dr.-Ing. Schneider |
| Termin: | 23.05.2025 |
Aufgabe 9.1 Strukturen und Klassen
Erweitern Sie den struct person durch weitere Komponenten, z. B.:
- Strasse,
- Hausnummer,
- Postleitzahl,
- Ort,
- Geburtsdatum [Array aus 3 Zahlen].
| Person.m |
classdef Person
% Eigenschaften
properties
name = '';
telnr = 0;
end % properties
% Methoden
methods
% Konstruktor
function o = Person( name, telnr )
o.name = name;
o.telnr = telnr;
end
function print( o )
fprintf( 'Name: %s, Tel.Nr.: %g.\n', ...
o.name, o.telnr );
end
function info( o )
fprintf( 'Telefonnummer %g gehört zu %s.\n', ...
o.telnr, o.name );
end
end % methods
end % classdef
|
| Musterlösung 9.1 |
%
% >> p = Person( 'Hannah', '0815', 'Weg', 5, 22222, 'HH' )
% >> whos p
%
classdef Person
properties
name = '';
telnr = 0;
strasse = '';
hausnr = 1;
plz = 1;
ort = '';
end % properties
methods
function o = Person( name, telnr, str, hnr, plz, ort )
o.name = name;
o.telnr = telnr;
o.strasse = str;
o.hausnr = hnr;
o.plz = plz;
o.ort = ort;
end
function print( o )
fprintf( 'Name: %s, Tel.Nr.: %g,\n', ...
o.name, o.telnr );
fprintf( 'wohnt: %s %g, %g %s.\n', ...
o.strasse, o.hausnr, o.plz, o.ort );
end
function info( o )
fprintf( 'Telefonnummer %g gehört zu %s.\n', ...
o.telnr, o.name );
end
end % methods
end % classdef
|
Aufgabe 9.2 Strukturen und Klassen
Erweitern Sie die Klasse Person um weitere Eigenschaften, analog zur vorherigen Aufgabe. Passen Sie auch die Funktionen getPerson und printPerson daran an.
| Musterlösung 9.2 |
%
% pers = Array mit Elementen der Klasse Person
%
function pers = getPerson( anz )
for( n = 1:anz ) % Einleseschleife: von 1 bis anz
name = input( 'Name: ', 's' ); % als Text
telnr = input( 'Tel.-Nr.: ' ); % als Zahl
str = input( 'Strasse: ', 's' ); % als Text
hnr = input( 'Haus.-Nr.: ' ); % als Zahl
plz = input( 'PLZ: ' ); % als Zahl
ort = input( 'Ort: ', 's' ); % als Text
% neues n-tes Objekt von Person
pers(n) = Person( name, telnr, str, hnr, plz, ort );
end
end
%
% pers = Array mit Elementen der Klasse Person
%
function printPerson( pers )
anz = length( pers ); % Zahl der Personen
fprintf( '\nMeine Freunde : \n' ); % Überschrift
fprintf( '---------------\n' );
for( n = 1:anz ) % Ausgabeschleife
pers(n).print;
end
end
|
Aufgabe 9.4 Strukturen und Klassen
| Musterlösung 9.3 |
Aufgabe 9.4 Strukturen und Klassen
| Musterlösung 9.3 |
Aufgabe 9.5 Strukturen und Klassen
| Musterlösung 9.5 |
→ zurück zum Hauptartikel: BSE Modellierung und Simulation - SoSe25