{"id":614,"date":"2018-11-27T21:00:34","date_gmt":"2018-11-27T20:00:34","guid":{"rendered":"https:\/\/freizone.net\/java-einfach-lernen\/?p=614"},"modified":"2020-05-11T19:29:39","modified_gmt":"2020-05-11T17:29:39","slug":"datenkapselung","status":"publish","type":"post","link":"https:\/\/freizone.net\/java-einfach-lernen\/2018\/11\/27\/datenkapselung\/","title":{"rendered":"Datenkapselung"},"content":{"rendered":"<p>Klassen, Methoden und Variable k\u00f6nnen in Java mithilfe von Modifikatoren gekapselt werden. Das heisst der Zugriff auf Daten ist genau geregelt. Es gibt drei Modifikatoren:<\/p>\n<ul>\n<li><strong>public<\/strong> Zugriff von au\u00dferhalb und innerhalb der Klasse m\u00f6glich<\/li>\n<li><strong>protected<\/strong> Zugriff nur innerhalb der Klasse sowie von gebildeten Objekten der Klasse<\/li>\n<li><strong>private<\/strong> Zugriff nur innerhalb der Klasse m\u00f6glich<\/li>\n<\/ul>\n<p>Am besten wir der Sinn der Datenkapselung anhand eines Beispiels deutlich. Zum Beispiel k\u00f6nnte es in einem Programm f\u00fcr die Steuererkl\u00e4rung eine Eingabemaske geben bei der man sein monatliches Gehalt angibt. Das dahinterliegende Programm in Form einer Klasse enth\u00e4lt die int-Variable gehalt sowie eine Verbindung zu Datenbank die beim Klick auf einen Ok-Button die Variable gehalt \u00fcbertr\u00e4gt. Der User gibt also sein Gehalt in die Eingabemaske ein und klickt ok. Angenommen er w\u00fcrde spa\u00dfeshalber einen Minuswert eingeben, so w\u00fcrde das Programm mit Sicherheit ein v\u00f6llig falsches Ergebnis am Ende ausgeben. Da es sich um wichtige Daten handelt w\u00fcrde der Programmierer die Klasse als private deklarieren wodurch Eingaben nur noch durch sogenannte Getter und Setter, also eine Schnittstelle m\u00f6glich sind. Und dieser Schnittstelle, in unserem Fall den Setter, w\u00fcrde \u00fcberpr\u00fcft werden ob ein Minuswert vorliegt und gegebenenfalls eine Fehlermeldung ausgeben.<br \/>\nDie Datenkapselung tr\u00e4gt also dazu bei gleich zu Beginn einen gewissen Wichtigkeitsgrad f\u00fcr die Daten festzulegen und damit von Anfang an ein gro\u00dfes Ma\u00df an Sicherheit und Ordnung in das Programm zu bringen.<\/p>\n<p>Beispiel:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">import java.util.*;\r\n\r\nprivate class Eingabe\r\n{\r\nint gehalt;\r\n  public static void main(String[] args)\r\n  {\r\n    Scanner sc = new Scanner(System.in);\r\n    System.out.print(\"Ihr Gehalt: \");\r\n    String eingabe = sc.next();\r\n    \r\n    setGehalt();\r\n  }\r\n  private void setGehalt(int gh) {\r\n    if(gehalt &gt; 0) {\r\n    this.gehalt = gh;\r\n    System.out.println(\"Gehalt hat einen g\u00fcltigen Wert\");\r\n  }\r\n\r\n}<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Klassen, Methoden und Variable k\u00f6nnen in Java mithilfe von Modifikatoren gekapselt werden. Das heisst der Zugriff auf Daten ist genau geregelt. Es gibt drei Modifikatoren: public Zugriff von au\u00dferhalb und innerhalb der Klasse m\u00f6glich protected Zugriff nur innerhalb der Klasse sowie von gebildeten Objekten der Klasse private Zugriff nur innerhalb der Klasse m\u00f6glich Am besten [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1,6],"tags":[],"_links":{"self":[{"href":"https:\/\/freizone.net\/java-einfach-lernen\/wp-json\/wp\/v2\/posts\/614"}],"collection":[{"href":"https:\/\/freizone.net\/java-einfach-lernen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/freizone.net\/java-einfach-lernen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/freizone.net\/java-einfach-lernen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/freizone.net\/java-einfach-lernen\/wp-json\/wp\/v2\/comments?post=614"}],"version-history":[{"count":3,"href":"https:\/\/freizone.net\/java-einfach-lernen\/wp-json\/wp\/v2\/posts\/614\/revisions"}],"predecessor-version":[{"id":784,"href":"https:\/\/freizone.net\/java-einfach-lernen\/wp-json\/wp\/v2\/posts\/614\/revisions\/784"}],"wp:attachment":[{"href":"https:\/\/freizone.net\/java-einfach-lernen\/wp-json\/wp\/v2\/media?parent=614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/freizone.net\/java-einfach-lernen\/wp-json\/wp\/v2\/categories?post=614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/freizone.net\/java-einfach-lernen\/wp-json\/wp\/v2\/tags?post=614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}