import os
os.system('cls')
""" Note on how to be classy:
class class(object):
def method(self): #This function is called a "method" because it is inside of a class
pass
def method2(self): #the 'self' argument refers to whatever object called this method
pass
first create an instance of the class:
stuff = class()
then call methods in the instance:
stuff.method()
"""
class Parent_class(object): #Parent_class object's features are implicit by Child_class
hat = 0 #creates a hat variable an initializes it as 0
name = "null"
def method(self):
print " Parent_class.method()"
def implicit(self):
print " Parent_class.implicit()"
print " #Child_class does not have a 'implicit' method, defaults to Parent_class"
def altered(self):
print " Parent_class.altered()"
def has_hat(self):
hat = self.hat
name = self.name
if hat:
print " %s has a hat!" % name
else:
print " %s is hatless!" % name
class Child_class(Parent_class): #Child_class objects features are overriden by Parent_class
def method(self):
print " Child_class.method()"
print " #Child_class has a 'method()' supersedes Parent_class version"
def altered(self):
print " Child_class.altered()"
print " #Child_class has a 'altered' method"
print " super(Child_class, self).altered()"
print " #supersedes child_class and calls Parent_class version of 'altered()'"
super(Child_class, self).altered()
print " Child_class.altered()"
print " #Child_class version of 'altered()' continues after"
class display():
def dad_instance(self):
dad_instance.name = "dad_instance" #override the default 'name' setting of this instance
print "display dad_instance of Parent_class(object) calls:"
print "dad_instance.method()"
dad_instance.method()
print "dad_instance.implicit()"
dad_instance.implicit()
print "dad_instance.altered()"
dad_instance.altered()
print""
#print " dad_instance.has_hat() #first time with default variable"
#print " dad_instance.has_hat() #second time, having overriden the variable"
print ""
def son_instance(self):
son_instance.name = "son_instance" #override the default 'name' setting of this instance
print "display son_instance of Child_class(Parent_class) calls"
print "'son_instance.method()' results in:"
son_instance.method()
print "'son_instance.implicit()' results in:"
son_instance.implicit()
print "'son_instance.altered()' results in:"
son_instance.altered()
print ""
def dads_hat(self):
print "Dad's hat:"
print "dad_instance.has_hat() #inherits the default of 0 and registers as hatless"
dad_instance.has_hat()
dad_instance.hat = 1
print "dad_instance.hat = 1 #overrides the default hat setting of this instance"
dad_instance.has_hat() #now overridden, dad_instance has a hat!
print "dad_instance.has_hat() #now overridden, dad_instance has a hat!"
print""
def sons_hat(self):
print "Son's hat:"
print "son_instance.has_hat() #son_instance doesn't have a hat value, inherits from Parent_class"
son_instance.has_hat()
print "son_instance.hat = 1 #overrides the default 'Parent_class' value with one specific to the 'son_instance' instance"
son_instance.hat = 1 #overrides the default 'Parent_class' value with on specific to the 'son_instance' instance
print "son_instance.has_hat() #again, now that the hat value is overridden"
son_instance.has_hat()
print""
#instantiate classes: instance = class()
dad_instance = Parent_class()
son_instance = Child_class()
show = display()
#call methods from 'show' instance of display() class
show.dad_instance()
show.son_instance()
show.dads_hat()
show.sons_hat()
Comments
0 B
|👍
/👎