changeset 30:d43f60e98f39

Complete the car example of objects and types
author IBBoard <dev@ibboard.co.uk>
date Wed, 06 Sep 2017 18:42:44 +0100
parents 9c7af76fdbd0
children 2bbabcbc4802
files 2-Io/day1.io
diffstat 1 files changed, 34 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/2-Io/day1.io	Wed Sep 06 18:36:02 2017 +0100
+++ b/2-Io/day1.io	Wed Sep 06 18:42:44 2017 +0100
@@ -25,4 +25,38 @@
 Object type print
 "\n" print
 
+# Now we start making a Ferrari as a type of car
+Car := Vehicle clone
+# Car only directly has one slot
+# (Q: How do we find out inhereted slots?)
+Car slotNames print
+"\n" print
+Car type print
+"\n" print
+# But because of prototype cloning, the description remains the same
+Car description print
+"\n" print
+
+# Now we make a specifc car
+ferrari := Car clone
+# But this hasn't gained any slots because it is lower-case
+ferrari slotNames print
+"\n" print
+# It does still have a type, though
+ferrari type print
+"\n" print
+
+# Types don't mean anything specific - they're just a handy convention
+# Variables are case sensitive, so we can make an entire type of Ferraris
+Ferrari := Car clone
+Ferrari type print
+"\n" print
+Ferrari slotNames print
+"\n" print
+# And the lower-case version is unaffected
+ferrari slotNames print
+"\n" print
+
+
+
 Vehicle another_field = "This won't work"
\ No newline at end of file