Differences between object-oriented and object-oriented

Source: Internet
Author: User

Differences between object-oriented and object-oriented

Basically, Every programmer has heard of the concepts of Object-oriented and Object-based. In fact, there is no obvious line between these two concepts. However, the industry now thinks that only those with three characteristics: encapsulation, inheritance, and polymorphism can be called object-oriented, otherwise, even if the design contains some object concepts, it is usually called object-based.

Objects are the natural evolution of procedural languages. With the maturity and maturity of the ADT ideology, it was very popular in 1970s to the beginning of 1980s, but soon it was covered by more popular object-oriented technologies, the most typical example is Ada83. It has always been regarded as a C language represented by procedural languages, and basically uses Object-based ideas in practical applications. Although unknown, the software developed based on the object ideology actually forms the basis of our current software industry.

Object-oriented language originated in Norway in 1960s. The first object-oriented language was Simula, and its idea matured in 1980s. It indicates inheritance and polymorphism. The main historical contribution of Object-oriented thinking is to promote the idea of component-oriented and simplify daily programming. In the serious sense of software engineering, whether Object-oriented thinking is "a historic progress" remains to be tested in history, but such thinking and methods have now become the mainstream, so whether it is progress or not, it has become a reality.

Objects are usually used based on objects, which means they have objects such as C ++ structures and functions. However, this is only part of the object-oriented language, the language that binds a function within the structure is object-based. However, existing Object Templates cannot be used to generate new object types and generate new objects. That is to say, objects are generally not inherited. Without the concept of inheritance, there is no way to talk about polymorphism. Nowadays, many popular technologies are based on objects. They use encapsulated objects, call object methods, and set object attributes. However, they cannot allow programmers to derive new object types. They can only use methods and attributes of existing objects. So when you determine whether a new technology is object-oriented, you can usually use the last two features to determine. For example, C ++ is object-oriented, while VB is only object-based. Of course, the authors of a large number of books and materials (including a large number of textbooks) in China cannot distinguish the differences between the two. VB is called object-oriented and mistaken for children.


Differences between object-based and object-oriented Teaching

The three characteristics of object-oriented (encapsulation, inheritance, and polymorphism) are indispensable.
Objects are usually used based on objects, but existing Object Templates cannot be used to generate new object types and generate new objects. That is to say, objects are not inherited. "Polymorphism" indicates a subclass object instance of the parent class. Without the concept of inheritance, there is no way to talk about "polymorphism ".
Nowadays, many popular technologies are based on objects. They use encapsulated objects, call object methods, and set object attributes. However, they cannot allow programmers to derive new object types. They can only use methods and attributes of existing objects.
So when you determine whether a new technology is object-oriented, you can usually use the last two features to determine. Both "Object-Oriented" and "Object-based" implement the concept of "encapsulation", but object-oriented implements "inheritance and polymorphism", while "Object-based" does not, indeed, it is very good.

Simply put, objects cannot be inherited, not to mention polymorphism.

In addition:
VC ++ is object-oriented, while VB is only object-based! Of course, the authors of a large number of books and materials (including a large number of teaching materials) in China cannot distinguish the differences between them. VB is called object-oriented, and it is a mistake!

What is the difference between fully Object-Oriented Programming and object-oriented programming?

It should mean,

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.