Modellierung und Simulation - Objektorientierte Programmierung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| 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>struct <code>Person.m</code> </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium">person = struct( 'Name', 'Hannah', ... | |||
'Telnr', '0815', ... | |||
'Strasse', 'Hamb. Str.', ... | |||
'Hausnr', 75 ); | |||
</source> | |||
|} | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösung 9.1 </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium">person = struct( 'Name', 'Hannah', ... | |||
'Telnr', '0815', ... | |||
'Strasse', 'Hamb. Str.', ... | |||
'Hausnr', 75,... | |||
'Postleitzahl',59555,... | |||
'Ort','Lippstadt',... | |||
'Geburtsdatum',[1,1,1920] ); | |||
</source> | |||
|} | |||
=Aufgabe 9.2 Strukturen und Klassen= | |||
Erweitern Sie die Klasse Person um weitere Eigenschaften, analog zur vorherigen Aufgabe. Passen Sie auch die Funktionen <code>getPerson</code> und <code>printPerson</code> daran an. | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | {| role="presentation" class="wikitable mw-collapsible mw-collapsed" | ||
| <strong>Klasse <code>Person.m</code> </strong> | | <strong>Klasse <code>Person.m</code> </strong> | ||
| Zeile 39: | Zeile 64: | ||
end % methods | end % methods | ||
end % classdef | end % classdef | ||
</source> | </source> | ||
|} | |} | ||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | {| role="presentation" class="wikitable mw-collapsible mw-collapsed" | ||
| <strong> | | <strong>Klasse <code>Person.m</code> </strong> | ||
|- | |- | ||
| <source line lang="matlab" style="font-size:medium"> | | <source line lang="matlab" style="font-size:medium"> | ||
</source> | </source> | ||
|} | |} | ||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | {| role="presentation" class="wikitable mw-collapsible mw-collapsed" | ||
| <strong>Musterlösung 9.2 </strong> | | <strong>Musterlösung 9.2 </strong> | ||
Version vom 23. Mai 2025, 06:32 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].
struct Person.m
|
person = struct( 'Name', 'Hannah', ...
'Telnr', '0815', ...
'Strasse', 'Hamb. Str.', ...
'Hausnr', 75 );
|
| Musterlösung 9.1 |
person = struct( 'Name', 'Hannah', ...
'Telnr', '0815', ...
'Strasse', 'Hamb. Str.', ...
'Hausnr', 75,...
'Postleitzahl',59555,...
'Ort','Lippstadt',...
'Geburtsdatum',[1,1,1920] );
|
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.
Klasse 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
|
Klasse Person.m
|
| 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