Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2019, International Journal of Scientific Research in Computer Science, Engineering and Information Technology
https://doi.org/10.32628/CSEIT195248…
11 pages
1 file
Object oriented programming has become a very important programming CONCEPT of our times.The time it was brought into existence by Simula. It directly support the object notions of classes, inheritance, information hiding, and dynamic binding. There is a variety of implementations for each of these concepts, and there is no general agreement as to how a particular concept must be interpreted. This survey takes a detailed look at the concepts which are fundamental to object-orientation, namely inheritance and polymorphism. Different aspects of inheritance and polymorphism are implemented in various popular Object oriented program language. We conclude that there is still lot of work to be done to reach a common ground for these to achieve features of OOPs. This survey presents a comparison of Java, C++, C# , Eiffel, Smalltalk, Ruby and Python in terms of their inheritance and polymorphism implementations. The paper also presents a compilation of the observations made by several surveys [1].
Computing science notes, 1994
In this paper we discuss the fundamental concepts present in the object-oriented methodology. First we concentrate on the notion of an object, the key concept in this approach. A (software) object is the abstract representation of a physical or conceptual object. It consists of a name, a specified set of data-elements and methods. Data-elements can have values attached to them. Data-hiding is the feature that certain data and methods can be kept invisible (= hidden) for the outside of an object, thus facilitating its description. Only knowledge on the nature of the visible data-elements and methods is required to make proper use of the object. This is called data-abstraction. A related concept is encapsulation, a technique for achieving both data-hiding and data-abstraction. A class is a template for a number of similar objects. Classes do not prescribe values for the data-elements nor fixed implementations for their methods. A class can be seen as a set of objects that satisfy the same specification for data-elements and method-behavior. An alternative grouping of objects may take place by means of object types, as we will describe. A type is a set of objects that satisfy the same ezternai specification, i.e., specification of the visible data-elements and methods. Thus, a classification via types differs from an ordering into classes, as we shall explain. The notion of type brings along a notion of subtyping. We also discuss different forms of inheritance between classes. By means of inheritance a class can use data-and method-descriptions from another class. We describe, among other things, single inheritance, multiple inheritance and overriding. We also discuss mUltiple preferred inheritance and runtime inheritance. Finally, we show how actual programming can take place in an object oriented approach. For that we need a description of inter-object communication by means of messages. Relevant aspects are: synchronous and asynchronous message passing, scheduling and delegation. The paper concludes with an overview and a number of summarizing remarks. "'This paper originates from Marc van der Kammen's master's thesis "The logic of objects; object oriented programming in a logical perspective". It is the revised version of his chapter 0, which contains an overview of the most important basic notions concerning object-oriented programming.
2005
Today's large scale software systems are typically designed and implemented using the concepts of the object-oriented (OO) paradigm. However, there is still a need for existing OO languages and architectures to continuously adapt in response to demands for new features and innovative approaches. These new features, to name a few, include unanticipated software evolution, security, safety, distribution, and interoperability.
SUMMARY We discuss a number of open issues within object-oriented programming. The central mechanisms of object-oriented programming appeared with Simula developed more than 30 years ago including class, subclass, virtual function, active object and the first application framework, Class Simulation. The core parts of object-oriented programming should be well understood, but there are still a large number of issues where there is no consensus. The term object-orientation has been applied to many subjects such as: analysis, design implementation, data modeling in databases, and distribution. In this paper the term object-oriented programming is meant to cover all these subjects, since one of the advantages of object-orientation is that it provides a unified approach to these subjects. The issues being discussed in this paper are: modeling versus reuse as the main benefit of object-orientation; the need for a language independent conceptual framework; abstraction mechanisms for suppor...
Open Verification Methodology Cookbook, 2009
Software engineering, unconstrained by the physics of electricity and magnetism, has long sought to build reusable, interchangeable, robust components. An important programming model that addresses the problem is called object-oriented programming (OOP). The central idea of OOP is that programs are organized as a collection of interacting objects, each with its own data space and functions. Objects can be made reusable because they encapsulate everything they need to operate, can be built with minimal or no external dependencies, and can be highly parameterized. This chapter introduces the basic concepts of OOP, including the notions of encapsulation and interface. The chapter concludes with a discussion of why OOP is important for building testbenches.
Since the first design concept of computers came into the world, many different methods of communication with these machines have been developed (Wu, 2010, p. 2). This paper discusses first, second, and third generations of programming languages. Several paradigms are defined and further compared with insight into their advantages and disadvantages.
Object-Oriented Concepts, Databases and Applications, 1989
ACM SIGPLAN OOPS Messenger, 1990
We address the following questions for object-oriented programming: What is it? What are its goals? What are its origins? What are its paradigms? What are its design alternatives? What are its models of concurrency? What are its formal computational models? What comes after object-oriented programming? Starting from software engineering goals, we examine the origins and paradigms of object-oriented programming, explore its language design alternatives, consider its models of concurrency, and review its mathematical models to make them accessible to nonmathematical readers. Finally, we briefly speculate on what may come after object-oriented programming and conclude that it is a robust component-based modeling paradigm that is both effective and fundamental. This paper expands on the OOPSLA 89 keynote talk.
IRJET, 2020
For the growth of software industry in future and the advance of software engineering, use of object-oriented programming (OOP) has increased in the software real world. Some the important features that's know is compulsory and that's features are important to study the depth knowledge of object-oriented programming in this paper, we study the concept of object-oriented programming and its features, advantages, disadvantages, and we also know the constructor and destructors
International Journal of Scientific Research in Computer Science, Engineering and Information Technology, 2021
Industries evolve. Our thinking changes as well. Programming languages need evolvement too. “The thing is that ideas for new features with its ways of thinking will be flourished, and so perfectly designed those languages won’t be perfect anymore.” Where did logical programming go? “Notice that you can use this paradigm and just provide a set of constraints for a website and expect the website to develop automatically based on them.” It is possible to implement that. Likewise, new paradigms will sooner or later be born. It can’t be that we’ve explored everything. “Technologies are born likewise the old way of thinking, which represents by the previous programming languages might not be adequate. This project is an open-source modern object-oriented programming language that aims to bridge the gap between modern expressive programming paradigms like python and strictly typed rigid languages like Java and C#. Our goal is to provide the usefulness of an object-oriented programming language while holding the simplicity of an expressive programming language without having to sacrifice performance.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
AI magazine, 1985
Periodica Polytechnica Electrical Engineering, 2007
ACM SIGSOFT Software Engineering Notes, 2003
Software - Concepts and Tools / Structured Programming, 1991
Lecture Notes in Computer Science, 1998
Global Journal of Engineering and Technology Advances, 2021
Journal of Functional Programming, 1994
International Journal for Research in Applied Science and Engineering Technology -IJRASET, 2020