I\'m a little lost on this question. I understand the difference between a class
ID: 3677862 • Letter: I
Question
I'm a little lost on this question. I understand the difference between a class and a method, but need clarification as to the differences between static and instance methods / variables. Please answer with a simple breakdown of the differences and a good clear example like the question asks. Thank you.
Explain how class (static) variables and methods differ from their instance counterparts. Give an example of a class that contains at least one class variable and at least one class method. Explain why using a class variable and method rather than an instance variable and method would be the correct choice in the example you select.
Explanation / Answer
Instance variable/method -
Variables that depend on the creation of objects are called instance variables. The variables in all of the examples that we have studied so far are instance variables. In the current exercise, the variables for the name of products, the quantity sold, and the amount of money collected, are all instance variables. They can only be assigned values if a transaction is carried out.
Variables/methods that are specific to each instance (object) of the class e.g. name, age.... When accessing/calling them, the object, as the reference has to be used as a handle. Variables that are unique to each class.
Class variable/method -
Variables that do not depend on any particular instance of a class are called class variables. Class variables require class methods to access them. Another feature of class variables is that there is only one copy of these variables during the execution of the program. You can see by now why we want to discuss class variables – one to accumulate the total number products, regardless of the object; and the other to total the amount of sales, regardless of the object.
Variables/methods that represent/deal with class wide situation, e.g. a static variable which belongs to a class and has only one value specific to the class. When accessing/calling them, the class name is needed as a handle. Variables that are common among a class e.g. species
example:
Name: Sales
Instance Variables:
product
daily_sale
daily_quantity
Class Variables
total_sale
total_quantity
Constructor
Sales(product, cost, quantity)
Instance Methods
getProduct()
getPieces()
getSale()
Class Methods
getTotalSale()
getTotalQuantity()
Difference between class and instance variables
Now, it should be clear what the difference between instance and class variables is. Class variables only have one copy that is shared by all the different objects of a class, whereas every object has it’s own personal copy of an instance variable. So, instance variables across different objects can have different values whereas class variables across different objects can have only one value.
Why class variable method better than instance variable method:
Sometimes, you want to have variables that are common to all objects. This is accomplished with the static modifier. Fields that have the static modifier in their declaration are called static fields or class variables. They are associated with the class, rather than with any object. Every instance of the class shares a class variable, which is in one fixed location in memory. Any object can change the value of a class variable, but class variables can also be manipulated without creating an instance of the class.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.