D10d3 icon

oop_cheatsheet-parent_child.py

D10d3 | PRO | 01/24/15 04:59:28 PM UTC | 0 ⭐ | 509 👁️ | Never ⏰ | []
text |

3.69 KB

|

None

|

0 👍

/

0 👎

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

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎