2017-01-29 5 views
-2

Ich bin neu in der Programmierung. Ich bin sehr verwirrt über diese Definition der Klasse/Instanz/Methode.Klasse, Instanz/Objekt-Methode

Ich habe eine einfache Frage.

Wenn ich ein Quadrat mit einem roten Stift auf ein Stück Papier zeichne, kann jemand hier erklären, was Klasse, Methode und Objekt sind?

Auch hier ist ein Code für ein echtes Programm. Wie kann ich basierend auf der obigen Erklärung in ähnlicher Weise durch Python zu denken beginnen?

import turtle 

def draw_square(): 
     window = turtle.Screen() #canvas to draw on 
     window.bgcolor("red") 

     brad = turtle.Turtle() 
     brad.shape("triangle") 
     brad.speed('10000') 
     brad.forward(100) 
     brad.right(90) 
     brad.forward(100) 
     brad.right(90) 
     brad.forward(100) 
     brad.right(90) 
     brad.forward(100) 




     window.exitonclick() 


draw_square() 
+1

Klassen sind eine Beschreibung einer Sache (zB: das Konzept eines 'Cat'). Objekte sind Instanzen von Klassen (zB: 'Freddie' die Tabby-Katze). Methoden sind Funktionen/Aktionen (zB: 'Freddie.meow()') – CollinD

+0

das hilft definitiv! Vielen Dank –

Antwort

1

In Ihrer Analogie wäre die Klasse „Square“, weil es ein abstraktes Konzept, die die Art von etwas (in diesem Fall die Art von Sache, die Sie auf dem Papier sind Zeichnung) ist. "Zeichnen" wäre die Methode, weil es die Aktion ist, die für das Objekt ausgeführt wird. Das Objekt wäre das bestimmte Quadrat, das du gezeichnet hast. Wenn Sie also zwei identische Quadrate nebeneinander zeichnen, hätten Sie zwei Objekte, die beide dieselbe Klasse haben.

Ich habe Ihren Code kommentiert eine Erklärung, um es zu geben:

import turtle 

def draw_square(): # We are defining a method 
     window = turtle.Screen() # window is an object. Its class is turtle.Screen 
     window.bgcolor("red") # We are calling the bgcolor() method, which sets the color 

     brad = turtle.Turtle() # We are creating an object called brad, whose class is turtle.Turtle 
     brad.shape("triangle") # We are calling a method on brad, called shape 
     brad.speed('10000') # We are calling a method on brad, called speed 
     brad.forward(100)  # We are calling a method on brad, called forward 
     brad.right(90)   # etc. etc. 
     brad.forward(100) 
     brad.right(90) 
     brad.forward(100) 
     brad.right(90) 
     brad.forward(100) 




     window.exitonclick() # We are calling a method on window, called exitonclick 


draw_square() # We are calling a method called draw_square, which we defined above 
Verwandte Themen