Concepts for the adoption of object orientation

1

I came across this question, I researched and the correct answer is:

  

e) Computing is triggered by message exchange between objects.

I agree that E is true, but what I do not understand is the following, because the letter D is wrong?

  Object orientation is an abstract way of thinking about a problem using real world concepts and not just computational concepts. In this perspective, the adoption of the object-oriented paradigm necessarily implies that:

     
  • a) users use the applications more simply.
  •   
  • b) systems are encapsulated by other systems.
  •   
  • c) application developers are more specialized.
  •   
  • d) objects are implemented efficiently and simply.
  •   
  • e) computing is triggered by exchanging messages between objects.
  •   

By what I understand about object orientation to D is correct as well.

    
asked by anonymous 21.09.2017 / 04:47

1 answer

3

As I see it, the key words here are necessarily imply . Although simplicity is usually present in the philosophy for the implementation of the concepts of object orientation, it is not a necessary question to be configured as such. I can apply the concepts of object orientation in order to complex my application without necessity and even then it will be object orientation.

A simple example would be the creation of a class that represents the system user. In a simple way, I could do something like:

class User {
    public string name { get; set };
    public string username { get; set };
    public string password { get; set; };
}

Depending on the application, this class would be sufficient, but it is possible to make it more complex, for example, using the concept of inheritance. We can imagine that username and password are user characteristics, but name is a characteristic of a person; so it would be possible to create a class Person and class User inherit from it:

class Person {
    public string name { get; set };
}

class User extends Person {
    public string username { get; set };
    public string password { get; set; };
}

A trivial object-oriented concept has been applied, but this does not imply that my application has become more efficient or simpler. It can happen even the opposite: heavier and much more complex.

    
21.09.2017 / 05:37