Python 2/Luokka

(Ohjattu sivulta Python 2/luokat)

Koodi, jossa on kaksi luokkaa. Ei ole niin monimutkainen kuin miltä näyttää.

class Square:
    def __init__(self, width, height):
        self.width, self.height = width, height # voi tehdä samalla rivillä

    def draw(self, char):
        for i in range(self.height):
            print self.width * char

class Triangle:
    def __init__(self, side):
        self.side = side
        
    def draw(self, char):
        width = self.side
        for i in range(self.side):
            width -= 1
            indentation = self.side - width # indentation on kolmion kavennus
            print indentation * ' ' + width * char * 2

Kutsuminen

muokkaa

1. suoraan

Square(20, 10).draw('O')
Triangle(10).draw('X')

2. olion, ilmentymän (engl. instance) avulla

sq = Square(20, 10)
sq.draw('O')
tr = Triangle(10)
tr.draw('X')

Tulostaa: Neliön ja sen perään kolmion.

OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
 XXXXXXXXXXXXXXXXXX
  XXXXXXXXXXXXXXXX
   XXXXXXXXXXXXXX
    XXXXXXXXXXXX
     XXXXXXXXXX
      XXXXXXXX
       XXXXXX
        XXXX
         XX

Aiheesta muualla

muokkaa