what is object orientation and explain the basic characteristics of object oriented systems.?
150471
*  Objects...\n          o Autonomous entities\n          o No direct access to their components, or run time type2\n          o Interact purely by messages, with no assumption of implementation \n\n    * Object Organization...\n          o Inheritance mechanism to construct an object classification hierarchy\n          o Not just for code sharing\n          o Must have abstract nodes in hierarchy for more realistic modeling\n          o Provide potential for individuality in objects\n          o Dynamicly determine (via run time type) correct response to messages \n\n    * Programs as Models...\n          o Programs model the development of some planned system\n          o Changing state of system reflected by the changing state of the objects\n          o Objects can be thought of as acting concurrently\n          o Support for ``non OO'' programming techniques in situations where they make sense
1183373
Hi,\nwell that is an interesting question. You mentioned Ruby, that's one I've just within the last, oh, 6 months heard about. \n\nReading about it just now at \n\nhttp://www.ruby-lang.org/en/20020101.html\n\na piece of info caught my eye. "Ruby is a complete, full, pure object oriented language: OOL. This means all data in Ruby is an object, in the sense of Smalltalk: no exceptions. Example: In Ruby, the number 1 is an instance of class Fixnum."\n\nI LOVED smalltalk and used it a lot in the early 90's just on that principle alone makes it something that I am going to investigate further.\n\nHowever, ... if you do find a better mousetrap then keep us informed.\n\nwizzie
895788
LOODS: a new learning-based object-oriented system development environment .\nLOODS also called 3*3 model ). Here the first 3 indicates. that a problem world is a motion body .\nLOODS, put forward by the author, is a new object-oriented terminal applications development environment, which consists of two parts: system modelling methodology (LOODS abstract models) and LOODS visual language system. The former is an object-oriented concurrent/parallel information system modelling methodology on the basis of requirements analysis results. The later is an automatic generator of LOODS abstract models, supporting concept programming and learning-by-example building of application systems. Also a new method of object-oriented learning is introduced for the LOODS visual knowledge system. LOODS has been realised in C++ on a Novell network environment.
596408
The SAP authorization concept modules are color-coded in the hierarchy display.\n\n\nObject class\n\n\nObject classes have an orange background in the hierarchy display.\n\nAuthorization objects are divided into classes for comprehensibility. An object class corresponds e.g. to an application (Financial accounting, etc.)\n\nThe SAP authorization concept object classes are under Tools --> Administration --> User maintenance --> Authorizations.
69185
Within the Microsoft Development Environment (the place where a programmer would write applications which run on the Microsoft Windows Operating system), these are types of "synchronization objects".  For an overveiw of the first two, refer to http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/synchronization_objects.asp.  For an overview of critical sections, refer to http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/critical_section_objects.asp.\n\nDisclaimer: Keep in mind that the concept of "synchronization objects" was not invented by Microsoft but is something which has existed for quite some time and in many different operating systems.  Any operating system whose goal is to enable and support robust, scalable and resilient services / applications, will have some type of synchronization object approach in their architecture and tools.
656706
If you are new to programming, I highly recommend taking a course.  There are good courses offered at local community colleges, and technical institutes.  C is a great language to start with, and C++ is a great languge to learn about object-oriented programming.\n\nBooks are good too (I learn great from books), but make sure the book is not oriented towards someone who already knows other programming languages (like Java or Perl) and is just looking to learn a new language (e.g., a C++ book that assumes you know a bit about C).  If you are new to programming, such books may take too many concepts for granted, and you will get confused.
656218
Object Oriented Databases\nObject oriented databases are also called Object Database Management Systems (ODBMS). Object databases store objects rather than data such as integers, strings or real numbers. Objects are used in object oriented languages such as Smalltalk, C++, Java, and others. Objects basically consist of the following: \n\nAttributes - Attributes are data which defines the characteristics of an object. This data may be simple such as integers, strings, and real numbers or it may be a reference to a complex object. \nMethods - Methods define the behavior of an object and are what was formally called procedures or functions. \nTherefore objects contain both executable code and data. There are other characteristics of objects such as whether methods or data can be accessed from outside the object. We don't consider this here, to keep the definition simple and to apply it to what an object database is. One other term worth mentioning is classes. Classes are used in object oriented programming to define the data and methods the object will contain. The class is like a template to the object. The class does not itself contain data or methods but defines the data and methods contained in the object. The class is used to create (instantiate) the object. Classes may be used in object databases to recreate parts of the object that may not actually be stored in the database. Methods may not be stored in the database and may be recreated by using a class. \n\nComparison to Relational Databases\nRelational databases store data in tables that are two dimensional. The tables have rows and columns. Relational database tables are "normalized" so data is not repeated more often than necessary. All table columns depend on a primary key (a unique value in the column) to identify the column. Once the specific column is identified, data from one or more rows associated with that column may be obtained or changed. \n\nTo put objects into relational databases, they must be described in terms of simple string, integer, or real number data. For instance in the case of an airplane. The wing may be placed in one table with rows and columns describing its dimensions and characteristics. The fusalage may be in another table, the propeller in another table, tires, and so on. \n\nBreaking complex information out into simple data takes time and is labor intensive. Code must be written to accomplish this task. \n\nObject Persistence\nWith traditional databases, data manipulated by the application is transient and data in the database is persisted (Stored on a permanent storage device). In object databases, the application can manipulate both transient and persisted data. \n\nWhen to Use Object Databases\nObject databases should be used when there is complex data and/or complex data relationships. This includes a many to many object relationship. Object databases should not be used when there would be few join tables and there are large volumes of simple transactional data. \n\nObject databases work well with: \n  \n\nCAS Applications (CASE-computer aided software engineering, CAD-computer aided design, CAM-computer aided manufacture) \nMultimedia Applications \nObject projects that change over time. \nCommerce \nObject Database Advantages over RDBMS\nObjects don't require assembly and disassembly saving coding time and execution time to assemble or disassemble objects. \nReduced paging \nEasier navigation \nBetter concurrency control - A hierarchy of objects may be locked. \nData model is based on the real world. \nWorks well for distributed architectures. \nLess code required when applications are object oriented. \nObject Database Disadvantages compared to RDBMS\nLower efficiency when data is simple and relationships are simple. \nRelational tables are simpler. \nLate binding may slow access speed. \nMore user tools exist for RDBMS. \nStandards for RDBMS are more stable. \nSupport for RDBMS is more certain and change is less
399952
If you've never used an object-oriented language before, you need to understand the underlying concepts before beginning to write code. You need to know what an object is, what a class is, how objects and classes are related, and how objects communicate by using messages. The first few sections of this chapter describe the concepts behind object-oriented programming. The last section shows how these concepts translate into code. \nWhat Is an Object?\nAn object is a software bundle of related variables and methods. Software objects are often used to model real-world objects you find in everyday life. \nWhat Is a Message?\nSoftware objects interact and communicate with each other using messages. \nWhat Is a Class?\nA class is a blueprint or prototype that defines the variables and the methods common to all objects of a certain kind. \nWhat Is Inheritance?\nA class inherits state and behavior from its superclass. Inheritance provides a powerful and natural mechanism for organizing and structuring software programs. \nWhat Is an Interface?\nAn interface is a contract in the form of a collection of method and constant declarations. When a class implements an interface, it promises to implement all of the methods declared in that interface. \nHow Do These Concepts Translate into Code?\nThis section looks at a small applet, and shows you the code that creates objects, implements classes, sends messages, establishes a superclass, and implements an interface.
1055620
Here's my 2-cent descrription of design patterns...\n\nWhen I was in college 20+ years ago, we learned procedural languages and we had to take data structures. Data structures are really techniques using, mostly pointers, to construct all kinds of useful structures, such as linked lists, stacks, queues, trees, lists, etc. While each of these structures have their own properties and behaviors, they are at their core just pointer manipulation - but in a very controlled manner.\n\nDesign patterns are the same kind of thing, except they are geared toward object oriented constructs. All of the 23 design patterns in GoF are built upon the same OO foundation principles such as interface definitions, delegation, etc.\n\nOnce you understand even a subset of them, your whole thinking about OO design and programming completely changes.\n\nI found the Gang of Four book very difficult to read to learn Design Patterns. Once I understood them, I read the book, and pick up more info.\n\nI felt the GoF left a lot of the details out, such as how to set up the pattern, how to clean it up, etc. I also didn't like their order of presentation. The patterns are grouped into 3 broad categories, and then within each group, presented in alphabetical order. Many of the patterns use other patterns internally, and the internal patterns are presented near the end of the book, because they have names like "template method." Some of the more "fuzzy" patterns are presented early because they have names like "abstract factory."\n\nWhile I recommend GoF, I also recommend using the internet. I really learned Design Patterns by googling for them. There's a TON of information out there, including university lecture notes.\n\nIf you want to focus upon a pattern, google its name as well to narrow your search.\n\nI used design patterns every day in my work. I used visitor for the first time recently. I wished I had understood it years ago.
503878
Java is an Object Oriented, Platform Independent language. The main reason why Java touched heights lies in its "Write once, run anywhere" slogan. Since for all major Operating systems and hardware the JVM (Java Virtual Machine) is available, once you compile the Java code its ready to run anywhere. \n\nTo manage big and complex projects Java has very nice Object Oriented Features which allows us to create complex and scalable systems. Over the period of time, Java became popular and many technologies evolved on the stack of Java viz. Servlets, EJB, JSP... and tons of them. That really made enterprise software development easier and powerful.\n\nJava has not only proved its popularity on Desktop and Enterprise systems but on Mobile and embedded systems too.
22610
Proponents of OOP claim [...] that OOP approach is often simpler to develop and to maintain, lending itself to more direct analysis, coding, and understanding of complex situations and procedures than other programming methods (Wikipedia)\n\nAs far as I can see OOP not only makes it easier to create abstract domain models, OOP paradigm has lead to understanding that some decisions are more effective and can be videly reused (so-called design and architectual patterns). Being familiar with a wide range of patterns gathered&developed by best practitioners and scientists you won't have to reinvent a bicycle each time.
235388
C was originally developed as a cross platform language just prior to the innovation of object oriented programming. C used libraries of machine code for basic operations (procedures). If you had the source code and the proper library modules you could compile that code to run on virtually any machine. C was the precursor to object oriented programming and the object oriented windows operating system. C was rewritten as a purely object oriented language called C+ then C++ then C#. Before dos there was cp/m, unix and apple. Programs written for one operating system could not be compiled by another. C is responsible for the evolution of modern computers.
1038492
Classic ASP is not, but ASP.NET uses object-oriented languages. (such as C#.NET and VB.NET)
1105557
An Object is exactly what its meant to mean, it is an object. In terms of OO Programming, an object is an instance of a class and methods are functions that define a class actions when invoked. \n\nFor example: \n\nYou create a class Automobile.\nA Car is defined as an object of the class Automobile because a car is an automobile.\n\nAn automobile will have a number of miles, so you create a method in class called getMiles(). \n\nIn a class you declare a set of variables for a possible outcome. \n\nFor more detailed and clear information on OO progrramming, log on to www.sun.com.
395750
It's basically the "virtual machine" that you have to have installed on a computer in order for programs made in Visual Studio.NET to work.\n\nIt is a collection of the many objects we program with in .NET.  Some of those objects are, for example, the textbox objects that know how to parse strings, the button objects that know when they are pressed and how to center an icon image, and the "common dialog controls" which help you browse the directory or choose colors.  Other objects do Just-In-Time Compiling of the .NET intermediate language and perform all sorts of other vital operations.\n\nThere are three main types of language:\n\n1. Compiled. You write the code and compile it, or translate it into 'machine code' which the computer understands without further translation.\n\n2. Interpreted. The code is written in a high-level language which is easily understood by humans. The computer must then translate the program line by line as it runs.\n\n3. Hybrid. The code is compiled into 'byte codes' which can then be translated into machine code by a computer running a runtime library. Java works this way. Essentially, the Framework is the runtime library.
160381
Obviously the idea behind multiple inheritance is to\nallow objects to have the behaviors of multiple types.\nHowever, how often have you actually been able to\ninherit the *behavior* (ie. the implementation) from\nmultiple parent types, as opposed to just the *interface*?\n\nIn some cases, you can get the semantics you want by\nincluding on object of one of the parent types.  And\nwhen appropriate, Java allows you to implement an\ninterface for another "parent" type without even pretending\nthat you could inherit the implementation.  \n\nAs for why Java never had multiple inheritance, in my\nopinion, it is confusing and error prone.
222349
C++ is an object-oriented programming (OOP) language that is viewed by many as the best language for creating large-scale applications. C++ is a superset of the C language. A related programming language, Java, is based on C++ but optimized for the distribution of program objects in a network such as the Internet. Java is somewhat simpler and easier to learn than C++ and has characteristics that give it other advantages over C++. However, both languages require a considerable amount of study.