Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. OOP and the scope of a class, am I wrong?

OOP and the scope of a class, am I wrong?

Scheduled Pinned Locked Moved The Lounge
designcomgraphicsiotquestion
79 Posts 45 Posters 3 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H honey the codewitch

    My take: A class should group related data and actions that center around a single concept. A car class might contain 4 Tire class instances as data members, an Engine instance, and a Gearbox instance. Each one has actions relevant to its operation like Engine.Start(), and Wheel.Rotate() But I'm hearing that professors are teaching that classes are effectively a single action like ReadTextFile and it makes me a lot more irritated than I probably should be. Am I wrong here?

    Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

    A Offline
    A Offline
    Amarnath S
    wrote on last edited by
    #26

    More than thirty years ago, when OO concepts made were first thought of, everyone jumped onto this, and started talking about OO, without really understanding it; much like [The Emperor's New Clothes - Wikipedia](https://en.wikipedia.org/wiki/The\_Emperor's\_New\_Clothes) Everyone could see the 'clothes' the Emperor was wearing, and talk about their grandeur, but the reality was different. History is said to repeat itself, perhaps in the form of these OO professors of today.

    1 Reply Last reply
    0
    • H honey the codewitch

      My take: A class should group related data and actions that center around a single concept. A car class might contain 4 Tire class instances as data members, an Engine instance, and a Gearbox instance. Each one has actions relevant to its operation like Engine.Start(), and Wheel.Rotate() But I'm hearing that professors are teaching that classes are effectively a single action like ReadTextFile and it makes me a lot more irritated than I probably should be. Am I wrong here?

      Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

      D Offline
      D Offline
      Dave Kreskowiak
      wrote on last edited by
      #27

      OOP? Hell, I'm pissed they never taught anything about debugging techniques or using a debugger! It would make teaching the languages and code much easier if they could see exactly what's changing while the code is running.

      Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak

      P 1 Reply Last reply
      0
      • D Dave Kreskowiak

        OOP? Hell, I'm pissed they never taught anything about debugging techniques or using a debugger! It would make teaching the languages and code much easier if they could see exactly what's changing while the code is running.

        Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak

        P Offline
        P Offline
        PIEBALDconsult
        wrote on last edited by
        #28

        They also didn't teach building/making complex software systems. We learned on OpenVMS and the debugger is nigh on unusable so it's no surprise they didn't teach it. Learning how to debug without a debugger is much more important anyway.

        D 1 Reply Last reply
        0
        • H honey the codewitch

          My take: A class should group related data and actions that center around a single concept. A car class might contain 4 Tire class instances as data members, an Engine instance, and a Gearbox instance. Each one has actions relevant to its operation like Engine.Start(), and Wheel.Rotate() But I'm hearing that professors are teaching that classes are effectively a single action like ReadTextFile and it makes me a lot more irritated than I probably should be. Am I wrong here?

          Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

          E Offline
          E Offline
          englebart
          wrote on last edited by
          #29

          The prof is teaching “microServices” I remember seeing a text book purporting to teach OO with C++. I seriously think that a professor took an Introduction to Programming with classic BASIC and converted it paragraph by paragraph to C++. It was horrendous!

          1 Reply Last reply
          0
          • H honey the codewitch

            My take: A class should group related data and actions that center around a single concept. A car class might contain 4 Tire class instances as data members, an Engine instance, and a Gearbox instance. Each one has actions relevant to its operation like Engine.Start(), and Wheel.Rotate() But I'm hearing that professors are teaching that classes are effectively a single action like ReadTextFile and it makes me a lot more irritated than I probably should be. Am I wrong here?

            Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

            P Offline
            P Offline
            PIEBALDconsult
            wrote on last edited by
            #30

            Use the right paradigm for the right job. And I'll refer to this again for any who haven't read it: Stevey's Blog Rants: Execution in the Kingdom of Nouns[^]

            1 Reply Last reply
            0
            • P PIEBALDconsult

              They also didn't teach building/making complex software systems. We learned on OpenVMS and the debugger is nigh on unusable so it's no surprise they didn't teach it. Learning how to debug without a debugger is much more important anyway.

              D Offline
              D Offline
              Dave Kreskowiak
              wrote on last edited by
              #31

              I wish they would have taught just the basic technique of outputting suspect variables to the console, but when I was going, they didn't teach even that.

              Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak

              1 Reply Last reply
              0
              • H honey the codewitch

                My take: A class should group related data and actions that center around a single concept. A car class might contain 4 Tire class instances as data members, an Engine instance, and a Gearbox instance. Each one has actions relevant to its operation like Engine.Start(), and Wheel.Rotate() But I'm hearing that professors are teaching that classes are effectively a single action like ReadTextFile and it makes me a lot more irritated than I probably should be. Am I wrong here?

                Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                C Offline
                C Offline
                Christian Graus
                wrote on last edited by
                #32

                When I was learning C++, most college professors knew a bit of C and taught C as C++. I see things have not improved

                1 Reply Last reply
                0
                • 0 0x01AA

                  Thank you Sir. But is this also available in easy words ;)

                  J Offline
                  J Offline
                  Jorgen Andersson
                  wrote on last edited by
                  #33

                  I believe ablative gerund belongs to latin grammar, and there is no such thing as easy latin. But I'm probably wrong though, as I never learned latin.

                  Wrong is evil and must be defeated. - Jeff Ello

                  D 1 Reply Last reply
                  0
                  • H honey the codewitch

                    My take: A class should group related data and actions that center around a single concept. A car class might contain 4 Tire class instances as data members, an Engine instance, and a Gearbox instance. Each one has actions relevant to its operation like Engine.Start(), and Wheel.Rotate() But I'm hearing that professors are teaching that classes are effectively a single action like ReadTextFile and it makes me a lot more irritated than I probably should be. Am I wrong here?

                    Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                    G Offline
                    G Offline
                    giulicard
                    wrote on last edited by
                    #34

                    honey the codewitch wrote:

                    Am I wrong here?

                    No, not at all. A class, in the various languages that contemplate it as a construct, is one of several possible forms of implementing an ADT (Abstract Data Type). Generally data + code, plus some other "automation" to implement inheritance and, consequently, dynamic polymorphism, at least in languages like C++. An ADT is also an opaque structure (like FILE in the C library) in addition to the free functions that operate on it: it does not matter what the "guts/bowels" (hidden part) of a class or structure look like, what matters is the interface with which it allows you to operate, i.e., the functions that accept an explicit or implicit "this".

                    1 Reply Last reply
                    0
                    • H honey the codewitch

                      My take: A class should group related data and actions that center around a single concept. A car class might contain 4 Tire class instances as data members, an Engine instance, and a Gearbox instance. Each one has actions relevant to its operation like Engine.Start(), and Wheel.Rotate() But I'm hearing that professors are teaching that classes are effectively a single action like ReadTextFile and it makes me a lot more irritated than I probably should be. Am I wrong here?

                      Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                      Kornfeld Eliyahu PeterK Offline
                      Kornfeld Eliyahu PeterK Offline
                      Kornfeld Eliyahu Peter
                      wrote on last edited by
                      #35

                      Your description is very accurate IMHO... Can you - secretly - share the name of the places those professors teaching? I want to ensure my kids don't go near there... :-D

                      "If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization." ― Gerald Weinberg

                      "It never ceases to amaze me that a spacecraft launched in 1977 can be fixed remotely from Earth." ― Brian Cox

                      H 1 Reply Last reply
                      0
                      • J Jorgen Andersson

                        I believe ablative gerund belongs to latin grammar, and there is no such thing as easy latin. But I'm probably wrong though, as I never learned latin.

                        Wrong is evil and must be defeated. - Jeff Ello

                        D Offline
                        D Offline
                        Derek Hunter
                        wrote on last edited by
                        #36

                        Awesome rabbit-hole :)

                        1 Reply Last reply
                        0
                        • 0 0x01AA

                          Holy ... Dear Richard, you know me now for a longer time as an English non native. Can you please describe 'ablative gerund' in _very simple words_ for me? Thank you very much in advance ;)

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #37

                          Ha ha! I remember "ablative" and "gerund" from my Latin classes back in the 1950s. So I just put the two words together as a joke. But the joke, it appears, is on me, as there realy is such a thing. But I am not sure exactly what that thing is.

                          D J 2 Replies Last reply
                          0
                          • H honey the codewitch

                            My take: A class should group related data and actions that center around a single concept. A car class might contain 4 Tire class instances as data members, an Engine instance, and a Gearbox instance. Each one has actions relevant to its operation like Engine.Start(), and Wheel.Rotate() But I'm hearing that professors are teaching that classes are effectively a single action like ReadTextFile and it makes me a lot more irritated than I probably should be. Am I wrong here?

                            Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                            Richard DeemingR Offline
                            Richard DeemingR Offline
                            Richard Deeming
                            wrote on last edited by
                            #38

                            honey the codewitch wrote:

                            A car class might contain 4 Tire class instances ... Am I wrong here?

                            Yes - you misspelled "tyre". ;P


                            "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                            "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

                            1 Reply Last reply
                            0
                            • L Lost User

                              Ha ha! I remember "ablative" and "gerund" from my Latin classes back in the 1950s. So I just put the two words together as a joke. But the joke, it appears, is on me, as there realy is such a thing. But I am not sure exactly what that thing is.

                              D Offline
                              D Offline
                              Daniel Pfeffer
                              wrote on last edited by
                              #39

                              [Gerund and Gerundive | Dickinson College Commentaries](https://dcc.dickinson.edu/grammar/latin/gerund-and-gerundive#:~:text=The ablative of the gerund,%2C and (rarely) prō.)

                              Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                              J 1 Reply Last reply
                              0
                              • Kornfeld Eliyahu PeterK Kornfeld Eliyahu Peter

                                Your description is very accurate IMHO... Can you - secretly - share the name of the places those professors teaching? I want to ensure my kids don't go near there... :-D

                                "If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization." ― Gerald Weinberg

                                H Offline
                                H Offline
                                honey the codewitch
                                wrote on last edited by
                                #40

                                You're probably safe. I ran into this while helping a student from South Africa

                                Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                                1 Reply Last reply
                                0
                                • H honey the codewitch

                                  My take: A class should group related data and actions that center around a single concept. A car class might contain 4 Tire class instances as data members, an Engine instance, and a Gearbox instance. Each one has actions relevant to its operation like Engine.Start(), and Wheel.Rotate() But I'm hearing that professors are teaching that classes are effectively a single action like ReadTextFile and it makes me a lot more irritated than I probably should be. Am I wrong here?

                                  Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                                  R Offline
                                  R Offline
                                  Ravi Bhavnani
                                  wrote on last edited by
                                  #41

                                  honey the codewitch wrote:

                                  professors are teaching that classes are effectively a single action like ReadTextFile

                                  I hope what they meant (but probably didn't clearly convey) is a recommendation for a TextFileReader class (that derives from FileReader that derives from StreamReader) that has methods like Read() and ReadToEnd(). /ravi

                                  My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                                  H 1 Reply Last reply
                                  0
                                  • R Ravi Bhavnani

                                    honey the codewitch wrote:

                                    professors are teaching that classes are effectively a single action like ReadTextFile

                                    I hope what they meant (but probably didn't clearly convey) is a recommendation for a TextFileReader class (that derives from FileReader that derives from StreamReader) that has methods like Read() and ReadToEnd(). /ravi

                                    My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                                    H Offline
                                    H Offline
                                    honey the codewitch
                                    wrote on last edited by
                                    #42

                                    Not at all. It had ParsePatientData, and OuputPatientData Yeah. It's like that. And the assignment required the name.

                                    Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                                    1 Reply Last reply
                                    0
                                    • H honey the codewitch

                                      My take: A class should group related data and actions that center around a single concept. A car class might contain 4 Tire class instances as data members, an Engine instance, and a Gearbox instance. Each one has actions relevant to its operation like Engine.Start(), and Wheel.Rotate() But I'm hearing that professors are teaching that classes are effectively a single action like ReadTextFile and it makes me a lot more irritated than I probably should be. Am I wrong here?

                                      Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                                      M Offline
                                      M Offline
                                      Mark Quennell
                                      wrote on last edited by
                                      #43

                                      I guess that could be considered a class in a command-based architecture, where ReadTextFile inherits from (or implements) some sort of base Command class and it contains all the information the processing system needs to perform that action, but it's a stretch, and certainly not to be taught as "the norm"...

                                      D J 2 Replies Last reply
                                      0
                                      • M Mark Quennell

                                        I guess that could be considered a class in a command-based architecture, where ReadTextFile inherits from (or implements) some sort of base Command class and it contains all the information the processing system needs to perform that action, but it's a stretch, and certainly not to be taught as "the norm"...

                                        D Offline
                                        D Offline
                                        DT Bullock
                                        wrote on last edited by
                                        #44

                                        That's almost certainly what is being taught. It comes from the (very helpful) book 'Design Patterns' by Erich, Gamma, et. al. (aka. 'the Gang of Four' ... abbreviated everywhere to 'GoF'). It is useful in particular situations, and it has trade-offs. Professors should teach it, but I doubt they are advocating that it should be always done that way ... that's more likely students not grasping the nuance of when to apply the pattern.

                                        1 Reply Last reply
                                        0
                                        • H honey the codewitch

                                          My take: A class should group related data and actions that center around a single concept. A car class might contain 4 Tire class instances as data members, an Engine instance, and a Gearbox instance. Each one has actions relevant to its operation like Engine.Start(), and Wheel.Rotate() But I'm hearing that professors are teaching that classes are effectively a single action like ReadTextFile and it makes me a lot more irritated than I probably should be. Am I wrong here?

                                          Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                                          J Offline
                                          J Offline
                                          JeffL45
                                          wrote on last edited by
                                          #45

                                          Many people consider this a must read for OOP/class deisgn -

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups