In my last endeavour to use OOP I was put off by the need to use so many functions. Is this something that you just have to get used to when using tagged types?
Do you have any specific example?
Can you elaborate a bit? I’ve never noticed any more need to use functions when doing OOP than I did when not using it. Usually the functions are made for operations I need to do, regardless of whether OOP is used or not.
I’ll be honest, sometimes I make types tagged just so I can use object.operation notation (though I think that is being addressed in newer versions of Ada). I never needed to add extra functions to do it though.
It’s also a GNAT extension that you can use right now, although you can’t enable it without enabling all other curated GNAT extensions.
I actually find myself using just a few less functions if I structure my base objects and the inheritances correctly. What I do find is I spend a bit more time thinking about what that structure should look like, particularly as I need to ensure it results in maintainable code.