tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
12
ZUGRIFFE
511
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Clund Clund ist offline (aka Cpp-Freak)
    Registriert seit
    Mar 2010
    Ort
    Neuburg a. D.(Bayern)
    Beiträge
    99
    Moin moin,
    eine Frage mal: wieso gibt es eigentlich solche Zuriffsrechte in Hochsprachen (C++, Java, ....)?
    Ich meine, für guten Programmierstil sorgt es ja, aber irgendwie deaktivieren oder so kann man das net...
    Dazu sagen muss man: Assembler ist die einzige Programmiersprache, mit der ich praktische Erfahrung hab (arbeite seit ca 2-3 Jahren an einem eigenem OS)
    Cpp-Freak
     
    Früherer Name: Cpp-Freak
    Bildung ist, was übrig bleibt, wenn man alles vergessen hat, was man in der Schule gelernt hat
    -Albert Eistein
    Wirklich, ich habe nicht vor Microsoft zu zerstören. Das wird nur ein ziemlich unbeachteter Nebeneffekt sein
    -Linus Torvalds
    Die meisten Computerpobleme sitzen zwischen Tastatur und Stuhl

    Google ist dein Freund

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Hi

    Zugriffsrechte?
    Du meinst public/protected/private?
    Oder was anderes?
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    Clund Clund ist offline (aka Cpp-Freak)
    Registriert seit
    Mar 2010
    Ort
    Neuburg a. D.(Bayern)
    Beiträge
    99
    jaaa, genau das
    ich bin von assembler i-wie verwöhnt
     

  4. #4
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Ich geh mal von C# aus:
    Ich sags mal so diese Modifierer sind eigentlich mehr hilfen für die Programmierer um den Code strukturierter aufbauen zu können.
    Zumindest in C# kann man diese ganz leicht aushebeln, per Reflection.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  5. #5
    Clund Clund ist offline (aka Cpp-Freak)
    Registriert seit
    Mar 2010
    Ort
    Neuburg a. D.(Bayern)
    Beiträge
    99
    Reflection?
    sry, aber ich lerne die Hochsprachen grad erst (fang mit C++ an)
     
    Früherer Name: Cpp-Freak
    Bildung ist, was übrig bleibt, wenn man alles vergessen hat, was man in der Schule gelernt hat
    -Albert Eistein
    Wirklich, ich habe nicht vor Microsoft zu zerstören. Das wird nur ein ziemlich unbeachteter Nebeneffekt sein
    -Linus Torvalds
    Die meisten Computerpobleme sitzen zwischen Tastatur und Stuhl

    Google ist dein Freund

  6. #6
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Der Sinn von Klassen ist ja, dass sie einmal für eine spezielle Aufgabe programmiert wird und dann verwendet werden kann, ohne dass der Verwender sich mit der Funktionsweise dahinter auskennen muss.

    Und weil man beim Klassenprogrammieren auch gerne Mal häufig verwendete Codestücke in Funktionen auslagern will, die allein zum Aufrufen keinen Sinn machen würden...

    Beispiel: Man schreibt eine Klasse, die eine Methode load nach außen anbietet.
    load bekommt eine Webseitenurl und einen Pfad. Die Webseite soll im Festplattenpfad gespeichert werden.
    Intern hat die Klasse connect, get, close; für Verbinden-Herunterladen-Verbindungsende.
    get verwendet dabei Variablen, die von connect vorbereitet wurden.
    Wenn man get jetzt selbst aufrufen könnte, ohne zuerst connect zu verwenden, wird es nicht funktionieren, das Programm eventuell abstüzen lassen...

    Die Zugriffsmodifizierer sind also quasi eine Empfehlung, was man von der Klasse verwenden soll.
    Verbindlich ist davon übrigens nichts.
    Wenn man unbedingt will kann man das System in allen genannten Sprachen umgehen.

    Gruß
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  7. #7
    Clund Clund ist offline (aka Cpp-Freak)
    Registriert seit
    Mar 2010
    Ort
    Neuburg a. D.(Bayern)
    Beiträge
    99
    aso,
    irgendwie wirkt das auch etwas geordneter, mein System verstehe ich llangsam selbst net mehr...
    also danke für die Aufklärung
    Cpp-Freak
     
    Früherer Name: Cpp-Freak
    Bildung ist, was übrig bleibt, wenn man alles vergessen hat, was man in der Schule gelernt hat
    -Albert Eistein
    Wirklich, ich habe nicht vor Microsoft zu zerstören. Das wird nur ein ziemlich unbeachteter Nebeneffekt sein
    -Linus Torvalds
    Die meisten Computerpobleme sitzen zwischen Tastatur und Stuhl

    Google ist dein Freund

  8. #8
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Reflections: Eine Möglichkeit in C# und Java herauszufinden, welche Klassen es gibt, welche Methoden/Variablen drin sind, per Name der Klasse ein Objekt davon zu erzeugen (ohne dass der Name beim Kompilieren bekannt sein muss), und die enthaltenen Methoden auch über die Namen aufrufen etc...

    Man kann auch abfragen, was public/private/protected ist, aber unabhängig davon auf alles zugreifen.

    Was C/C++ angeht: Über die Adresse einer Funktion kann man diese auch aufrufen.
    Um die Zugriffserlaubnis kümmert sich nur der Compiler.
    Hab auch schon von versteckten Einstellungsmöglichkeiten gehört, die den Compiler das auch ignorieren lassen.

    edit: Oder ein gcc-Bug:
    http://www.cplusplus.com/forum/general/3010/
    Geändert von sheel (15.09.11 um 22:12 Uhr)
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  9. #9
    Linuxfriend Linuxfriend ist offline Mitglied Bronze
    Registriert seit
    Mar 2011
    Beiträge
    36
    Wie steht's eigentlich gerade mit deinem OS? Was Kanns denn? Ich bin auch schon seit ca. 2 Jahren im OSdev tätig
    Ich finde meine Varriante des Assembler-C Crossovers ist die beste form zu Programmieren.
    LG
    Linux best fried
     
    In a world without walls and fences, who needs Windows ans Gates?

  10. #10
    Clund Clund ist offline (aka Cpp-Freak)
    Registriert seit
    Mar 2010
    Ort
    Neuburg a. D.(Bayern)
    Beiträge
    99
    Naja, ich hab nen Sinn dafür gefunden (also für mein OS)
    das einzige was es kann ist ein passables Software Multitasking und Tastaurausgabe
    also hab mir mit nem erfahrenem Microcontrollerbastler überlegt, das mein OS über COM auf Befehle eines atemega's wartet und diese dann in eine Bildschirmausgabe umsetzt
    sonst kann man mit diesen at megas nur Mäusekino betreiben
     
    Früherer Name: Cpp-Freak
    Bildung ist, was übrig bleibt, wenn man alles vergessen hat, was man in der Schule gelernt hat
    -Albert Eistein
    Wirklich, ich habe nicht vor Microsoft zu zerstören. Das wird nur ein ziemlich unbeachteter Nebeneffekt sein
    -Linus Torvalds
    Die meisten Computerpobleme sitzen zwischen Tastatur und Stuhl

    Google ist dein Freund

  11. #11
    Linuxfriend Linuxfriend ist offline Mitglied Bronze
    Registriert seit
    Mar 2011
    Beiträge
    36
    wie ich einem deiner alten Threads entnehme warst mit dem ding mal bei jugend Forscht. Was meinst du lohnt sich das jetzt nochmal mit deiner Aktuellen Varriante?
    LG
    Linux best friend
     
    In a world without walls and fences, who needs Windows ans Gates?

  12. #12
    Clund Clund ist offline (aka Cpp-Freak)
    Registriert seit
    Mar 2010
    Ort
    Neuburg a. D.(Bayern)
    Beiträge
    99
    mit den at megas dann zusammen (zu zweit)
     

  13. #13
    Clund Clund ist offline (aka Cpp-Freak)
    Registriert seit
    Mar 2010
    Ort
    Neuburg a. D.(Bayern)
    Beiträge
    99
    also mit dem at mega bastler stelle ich die pc - at mega -schnittstelle vor
     

Ähnliche Themen

  1. Fragen bezüglich Umstieg von C# auf Java
    Von MichiStroi im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 6
    Letzter Beitrag: 14.07.07, 07:56
  2. Umstieg von .NET auf Java
    Von wpb im Forum Java
    Antworten: 3
    Letzter Beitrag: 16.06.07, 23:56
  3. Umstieg auf C4D
    Von Mark'OH im Forum Cinema 4D
    Antworten: 7
    Letzter Beitrag: 29.05.06, 08:47
  4. Java (Dis)Assembler
    Von squeaker im Forum Java
    Antworten: 3
    Letzter Beitrag: 20.07.04, 09:35
  5. Umstieg auf MAX 5...
    Von GELight im Forum 3D Studio Max
    Antworten: 4
    Letzter Beitrag: 30.05.03, 14:18