DEV Community

Discussion on: Static classes are evil

 
wrongabouteverything profile image
wrong-about-everything

No, I'm just saying that static classes have nothing to do with OOP.

Thread Thread
 
mindplay profile image
Rasmus Schultz

I think that's what I'm saying, by describing it as a pseudo-namespace.

But what's your point?

Because it sounds like you're trying to build an argument. Or perhaps you're just trying to clarify the fact that it's not automatically OO just because you use the class keyword?

The interface/class example wrapping a string made it sound dangerously like you think that would actually be meaningful somehow - I'm afraid you might mislead the people you're trying explain the difference to, towards actually programming like that.

Thread Thread
 
wrongabouteverything profile image
wrong-about-everything

My point is that static classes should not be used in OOP.

That example with decorated Strings is an OOP alternative to procedural StringUtils class.

Thread Thread
 
mindplay profile image
Rasmus Schultz

It's okay to call functions though, like how your string example calls strtoupper and several others - but it's not okay to write/call your own functions?

I understand it's "not OOP", but "should not be used"?

I think there are well founded reasons why most languages support both paradigms - there are cases for functions and cases for classes, I think, and your string example is sufficiently complex and verbose as to leave me pretty firmly convinced of that.