Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Assignment Submission: Solar System
Congratulations! You're submitting your assignment. Please reflect on the assignment with these questions.
Reflection
| Question | Answer
| When does the
initialize
method run? What does it do? |It runs in main.rb when you see <class_name.new>. It creates a new instance of a class.
| Why do you imagine we made our instance variables readable but not writable? |
We don't want the end user to change the instance variables.
| How would your program be different if each planet was stored as a
Hash
instead of an instance of a class? |The syntax for iterating over a hash would be different. We could also pull data by the keys or values.
| How would your program be different if your
SolarSystem
class used aHash
instead of anArray
to store the list of planets? |We'd call the planets by calling the hash key (:name).
| There is a software design principle called the SRP. The Single Responsibility Principle (SRP) says that each class should be responsible for exactly one thing. Do your classes follow SRP? What responsibilities do they have? |
Yes. The solar system class manages planets. The planet class only contains planet information.
| How did you organize your
require
statements? Which files neededrequire
s, and which did not? What is the pattern? |In solar_system.rb, I used require_relative "planet". In main.rb, I used require_relative "planet" and require_relative "solar_system". planet.rb didn't use require_relative. The pattern is that whichever file is using data from another file will need the require_relative.