Modellierung und Simulation - Objektorientierte Programmierung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 28: Zeile 28:


=Aufgabe 9.2 Strukturen und Klassen=
=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.
Schreiben wir eine Funktion <code>getPerson</code> die nacheinander Daten für mehrere Personen einliest, diesmal nur mit den beiden Feldern <code>Name</code> und <code>Telnr</code>. In einer
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
Schleife werden die Werte für diese Felder von der Tastatur eingelesen, und zwar nacheinander für das erste Element person(n), n = 1, bis zur übergebenen Maximalzahl
| <strong>Klasse <code>Person.m</code>&thinsp;</strong>
num_pers, im Beispielaufruf gleich 3. Das so erzeugte struct-Array person wird von der Funktion zurückgegeben.  
|-
 
| <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"
| <strong>Klasse <code>Person.m</code>&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">
</source>
|}
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung 9.2&thinsp;</strong>
| <strong>Musterlösung 9.2&thinsp;</strong>
Zeile 81: Zeile 50:
   end
   end
end
end
</source>
|}


%
=Aufgabe 9.3 Strukturen und Klassen=
Stellen Sie den Struct Person auf eine Klasse um. Schreiben Sie die Funktionen <code>printPerson</code>, welche die Übergabeklasse <code>Person</code> im Command Window ausgibt.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung 9.3&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">%
%  pers = Array mit Elementen der Klasse Person
%  pers = Array mit Elementen der Klasse Person
%
%
Zeile 95: Zeile 71:


</source>
</source>
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
|}
|}
=Aufgabe 9.4 Strukturen und Klassen=


{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung 9.3&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">
</source>
|}
=Aufgabe 9.4 Strukturen und Klassen=
=Aufgabe 9.4 Strukturen und Klassen=



Aktuelle Version vom 23. Mai 2025, 06:49 Uhr

Autor: Prof. Dr.-Ing. Schneider
Termin: 23.05.2025

Aufgabe 9.1 Strukturen und Klassen

Erstellen Sie den struct person mit den Datenfeldern:

  • Strasse,
  • Hausnummer,
  • Postleitzahl,
  • Ort,
  • Geburtsdatum [Array aus 3 Zahlen].

Legen Sie 3 Personen an.

Aufgabe 9.2 Strukturen und Klassen

Schreiben wir eine Funktion getPerson die nacheinander Daten für mehrere Personen einliest, diesmal nur mit den beiden Feldern Name und Telnr. In einer Schleife werden die Werte für diese Felder von der Tastatur eingelesen, und zwar nacheinander für das erste Element person(n), n = 1, bis zur übergebenen Maximalzahl num_pers, im Beispielaufruf gleich 3. Das so erzeugte struct-Array person wird von der Funktion zurückgegeben.

Aufgabe 9.3 Strukturen und Klassen

Stellen Sie den Struct Person auf eine Klasse um. Schreiben Sie die Funktionen printPerson, welche die Übergabeklasse Person im Command Window ausgibt.

Aufgabe 9.4 Strukturen und Klassen

Aufgabe 9.5 Strukturen und Klassen


→ zurück zum Hauptartikel: BSE Modellierung und Simulation - SoSe25