In Object Oriented Programming ( OOP ) talen zoals Python , klassen en objecten zijn een integraal onderdeel van de manier waarop data wordt vertegenwoordigd . Een van de fundamentele principes van OOP is data-integriteit en beveiliging van gegevens. Dit is zeer belangrijk voor een taal zoals Python dat een grote verscheidenheid aan software en uit de Web bestaat. Een manier om data-integriteit te behouden is het controleren hoe objectgegevens interactie met gebruikers . De " eigenschap ( ) " functie in Python doet precies dat . Klassen en objecten in Python Omdat Python is een object - georiënteerde taal , kan Python programmeurs speciale allerlei soorten gegevens maken door " klassen . " Klassen zijn blauwdrukken die de interne structuur en het gedrag van een object te bepalen . Na het schrijven van een klasse , kan een programmeur " instantiëren " ( of een instantie van ) een object . Het volgende voorbeeld toont een basis klasse en een starten van een object van de klasse >>> klasse Basic : . //Class naam . . . def __ init__ (zelf ) : //initialiseren functie genaamd impliciet als object wordt geïnstantieerd . . . self.x 4 = //lokale data lid . . . def schrijven ( ) : //Lid -methode . . . print " Hello" >>> f = Basis ( ) //f vertegenwoordigt nu een " Basic " object beveiligen Gegevens Elk object gemaakt op basis van de " Basic " zal een data-item bevatten " x " dat de integer 4 zal bevatten . Een programmeur werken met een Basic -object kan toegang krijgen tot de gegevens in x met de " . " exploitant , zoals in dit voorbeeld : >>> fx 4 Toch kan de gebruiker deze waarde te wijzigen op elk gewenst moment , net als bij elke andere variable . Dit zou niet wenselijk zijn in alle gevallen , een klasse kunnen belangrijke gegevens die gebruikers niet mogen veranderen bevatten . In dit geval , data -leden in Python hebben een naamgeving van het zetten van twee onderstrepingstekens voordat het lid naam om te voorkomen dat een gebruiker veranderen : >>> klasse Basic : . . . def __ init__ (zelf ) op . . . self.__x = 4 //privegegevens lid Getters en Setters Dit verbergen van gegevens van de toegang wordt soms beschreven als ' inkapseling . " Gegevens verborgen voor de gebruiker toegang zou occasionele manipulatie vereisen , zoals in gevallen waar een gebruiker klasse informatie kan wijzigen , maar alleen binnen bepaalde parameters . In dit geval is de programmeur omvat " getters " en " setters ", die de waarde terug en stel de waarde , resp . Doorzetters gewoon terug een waarde en setters verander de waarde , terwijl de integriteit van de gegevens van het behoud . Het volgende voorbeeld toont sample te krijgen en zet functies in een Python klasse: >>> klasse Basic : . . . def __ init__ ( SEF ) : . . . self.__x = 4 . . . def getX (zelf ) : . . . terug self.__x . . . def setX (zelf , kunnen we nieuwe ) : . . . Als we nieuwe > = 0 : . . . zelf . __x = kunnen we nieuwe De " eigenschap ( ) " methode Sommige gebruikers vinden het onhandig voor de gebruikers te hebben om toegang te krijgen tot de " f.getx ( ) " -methode voor elk bijvoorbeeld de gegevens noodzakelijk is . De " f.x " syntax is meestal handiger . De " eigendom" -methode doet precies dit : het laat de programmeur om de get en set methoden (samen met anderen ) te definiëren en binden ze aan eenvoudige syntax . : Het nemen van de Basic -klasse als een voorbeeld , zal de " eigendom " methode gebruikerstoegang tot Basisgegevens vereenvoudigen . . . def getX (zelf ) : . . . terug self.__x . . . def setX (zelf , kunnen we nieuwe ) : . . . Als we nieuwe > = 0 : . . . self.__x = kunnen we nieuwe . . . woning ( krijgt , setX ) //nu gebruikers kunnen de __ x waarde met fx krijgen , en zet deze met fx = i
|