+ 2
I have a class. I made an object. Is it ok to have a class method that returns an class variable?
public class dog{ string name = "Puppy"; public void dogName(){ return name; } } //this class may have mistakes, but that is not the point.
4 Answers
+ 2
đ Alex TuÈinean đ It is a good practice to declare your instance variables as private and access them through public getter methods. This way you achieve data hiding and your class is well encapsulated.
+ 3
Hi đ Alex TuÈinean đ this sounds similar to a getter method. You use the setter method to modify the instance variable and use a getter method to retrieve that value. Yes it is pretty much possible and is used frequently.
+ 2
Avinesh I did that in one of my project, but my teacher told me about classes protection and I've been wondering, if I can't change class variables just by calling them, what if I make a function for that, so I didn't knew if what I did was good or bad.
+ 1
yes it's possible,(it's the single way to get the value of this variable if it's private!) you defined a getter, but as it returns a string, you should replace void by string
public string dogName() {
...