How would you best define Object Orientated Programming and why is it better?
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.
360573
I've heard of Object Oriented, Proceedural, and Strong type programming.
254565
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.\n\nObject-oriented programming. Objects of the program interact by sending messages to each other.\n\nWhat Is an Object? (in the Learning the Java Language trail)\n\n    An 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. \n\nWhat Is a Message? (in the Learning the Java Language trail)\n\n    Software objects interact and communicate with each other using messages. \n\nWhat Is a Class? (in the Learning the Java Language trail)\n\n    A class is a blueprint or prototype that defines the variables and the methods common to all objects of a certain kind. \n\nWhat Is Inheritance? (in the Learning the Java Language trail)\n\n    A class inherits state and behavior from its superclass. Inheritance provides a powerful and natural mechanism for organizing and structuring software programs. \n\nWhat Is an Interface? (in the Learning the Java Language trail)\n\n    An 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. \n\nHow Do These Concepts Translate into Code? (in the Learning the Java Language trail)\n\n    This 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.\n\nfor the importance part\n\nObject-oriented programming is claimed to give more flexibility, easing changes to programs, and is widely popular in large-scale software engineering. Furthermore, proponents of OOP claim that OOP is easier to learn for those new to computer programming than previous approaches, and that the 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. Translation from real-world phenomena/objects (and conversely) is eased because there is direct mapping from the real-world to the object-oriented program (generally a many-to-one). The converse mapping, from the object-oriented program back to the real-world, is by way of a one-to-many mapping, where each 'many' is seen to be a collection of well-defined subsets (or superset), which together compose a real-world object. The corresponding object defined in the program may be seen as representing some proper subset of the real-world object's features.
7389
There are many, but if I had to pick one, it's the support for generics. That's much like C++ templates (classes or methods that you can customize what types they work with -and other parameters- the moment you need to use them), only they get compiled into intermediate language only once.
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.
736555
The concept behind Javascript programming was a way to provide some logic programming on the client side rather than on the server. Since it takes time to send a request to the server, process, and then receive a response, if the user can handle some of the processing itself it would have multiple advantages including...\n\n1) Speed... saves time to do the programming on the client rather than asking the server.\n\n2) Reduces load on the server. The server can work on its own logic and handle requests from multiple people rather than having to run code for everyone.\n\n3) You can write more exclusive code to target the individual user. Javascript makes it easier for the programmer to write code that deals with this one particular user rather than worrying about keeping track of users and making it generic for everyone.\n\nThose are the primary goals of the scripting language. In combination with server side scripting and methods like AJAX, you can get more of a complete solution for the user's experience.\n\nHope this helps!
824959
Direct from the creators of the Java.The Java Programming Language is an indispensible resource for novice and advanced programmers alike. \n\nDevelopers around the world have used previous editions to quickly gain deep understanding of the Java programming language, its design goals, and how to use it most effectively in real-world development. Now, Ken Arnold, James Gosling, and David Holmes have updated this classic to reflect the major enhancements in JavaTM 2 Standard Edition 5.0 (J2SETM 5.0). \n\nThe authors systematically conver most classes in Java's main packages, java.lang.*, java.util, and java.io, presenting in-depth explanations of why these classes work as they do, with informative examples. Several new chapters and major sections have been added, and every chapter has been updated to reflect today's best practices for building robust, efficient, and maintainable Java software. \n______________________________________\n      Key changes in this edition include \n       ----------------------------------------\nNew chapters on generics, enums, and annotations, the most powerful new language features introduced in J2SE 5.0 \nChanges to classes and methods throughout to reflect the addition of generics \nMajor new sections on assertions and regular expressions \nCoverage of all the new language features, from autoboxing and variable argument methods to the enhanced for-loop and covariant return types \nCoverage of key new classes, such as Formatter and Scanner \nThe JavaTM Programming Language, Fourth Edition, is the definitive tutorial introduction to the Java language and essential libraries and an indispensible reference for all programmers, including those with extensive experience. It brings together insights you can only get from the creators of Java: insights that will help you write software of exceptional quality. \n------------------------------------------------------------\nDirect from the creators of the JavaTM programming language, this Third Edition of The JavaTM Programming Language is a valuable resource for both novice and advanced programmers. More than 100,000 developers who programmed with C, C++, Smalltalk, or other high-level languages have used this book to get a concise, intelligent, and deep understanding of the Java programming language. \n\nThis book is what you need to understand the basic design goals of the language and the application of the language in real-world development. It provides unique insights into why and how the language was designed and intended to be used. \n\nThe authors describe the latest version of the language, as defined by The JavaTM Language Specification, Second Edition and implemented in version 1.3 of the Java 2 SDK, Standard Edition. This third edition has been structured to give more in-depth treatment of the newer language features as well as informative examples on using some of the new APIs. \n\n         New and/or revised in this edition: \n         ----------------------------------------\n- more details on language features, including an expanded section on nested classes\n- more comprehensive treatment of garbage collection and related programming issues\n- coverage of new APIs, such as collections and internationalization\n\nThoroughly revised from start to finish, this edition fully covers the features of the current release of the Java programming language and class libraries. The book serves as a tutorial introduction to the language and essential libraries as well as a reference. \n\nExperienced programmers will find this new edition to be a valuable reference and will gain new insights into the subtleties of the language. Novice and intermediate programmers will benefit from the valuable examples and clear explanations of language and library features. Make sure you understand the contents of this book before you begin any serious development for the Java platform. \n\nKen Arnold, a Staff Engineer at Sun Microsystems Laboratories, is a
1054111
Object oriented technology refers to any technology that allows object oriented patterns.to exist. ; )\n\nObject oriented patterns describe how an object (for example, a car) is broken down into its composite pieces.\n\nLet's say we wanted to create a car "object" we would need the following:\n\n4 wheels, 1 engine, 1 frame, and x number of seats\n\nEach of these elements is an object that makes up a car object. Each of these elements also has its own properites. Object oriented patters allow us to say things like:\n\nI have a car object. (declaration of an object)\nMy car is called BigRed. (assign a name property)\nBigRed is of type Corvette. (assign many default properties)\nI changed BigRed's engine to a V8 engine. (Action to modify a property)\n\nObject oriented patterns are used to simplify objects and then extend and inherit their properties and actions (for more details on these you might want to look up polymorphism).\n\nObject Oriented patterns covers a broad range of topics including polymorphism, inheritance, extending...if you are really interested in it you might want to check out the software development section of your library or bookstore.
215624
LoL, I love those brilliant answers you've recieved thus far. JAVA is one of the primary programming languages on the internet. You'll find a good amount of Java "applets" that are programs embedded into a webpage. Some of the more common ones are chatrooms and MUDS (text games online). JavaScript is even more prevelant, and is a scripting language very similar to Java, in the same family you might say. JavaScript is VERY common, and is used to create lots of objects on a web page, such as forms or "special effects".\n\n\n_______\nAnd now a little rant, to the genious that said Java is an "easy" programming language... I wouldn't say that. Learning an object-orientated programming language is no small feat. Changing your process of designing and thinking to fit the OO style can be a bit of a challenge. Granted once learned it's a very powerful and "easier" language to program in compared to C, it's definitely not "easy" for someone who hasn't programmed in Object-Orientated style before.
191850
I doubt what you exactly meant by programming techniques.\nEach language or devleopment package has itsown techniques.\nAny way if you asked about generic programming techniques or methodologies the below link will help you.\nCheck it out..\n\nhttp://www.gnacademy.org/text/cc/Tutorial/node3.html\n\nIf you meant the coding techniques and practices, check msdn link.\nhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsent7/html/vxconcodingtechniquesprogrammingpractices.asp\n\nRegards
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
689251
Object Oriented Design tends to feature concepts that mirror real world problems, so there's a more natural mapping from the problem to the solution. This makes it easier to write in the beginning and easier to maintain later on.\n\nFor example, if you want to write a program for an egg farm, you'd probably have classes such as: barn, chicken, egg, feed bins, etc.\n\nIn procedural languages such as C, you don't have classes or objects. You can only code structures and functions, and it's difficult to keep the two in sync. Additionally, you're constantly converting from the "real world" problem to the "functional based" solution and back again. As the saying goes, "Something was lost in the translation," and it usually is.\n\nClasses start by joining structures and functions together, but they provide so much more, such as encapsulation, inheritance, polymorphism, etc.
278932
Object Management Group holds trademarks to several similar terms including Model Driven Application Development, Model Based Application Development, Model Based Programming, and others\n\nA database that is managed by an object-oriented database management system (ODBMS). Object databases are closely aligned with a particular object-oriented programming language and enable the data in the objects to be persistently stored without requiring conversion to a relational database (see O-R mapping). A fair amount of tedious code is eliminated, and the object data are stored much faster.\n\nComplex Structures\n\nObject databases are also suited for applications that are not necessarily based on an object model, but use a large number of in-memory indexes that are difficult to store in a relational database. Object databases may be used for realtime applications whereby they can extend memory beyond the operating system's own virtual memory limit.\n\nObject Vs. Relational\n\nExamples of object-oriented databases are ObjectStore (www.progress.com/realtime) and Versant VDS (www.versant.com). Some relational databases have added object-oriented features, but for the most part, object databases and relational databases are separate products. UniSQL was one of the first products to support both database types
161994
An interface is a collection of method signatures that are defined. Objects can indicate that they implement an interface -- this means they agree to provide the methods that appear in the interface.\n\nFor example, perhaps I have an interface called Printable that contains a single method print. Note the interface has no actual code for this method, just the signature (name, return type, argument list, etc.).\n\nThen if an object implements Printable, it is promising to provide a print method with the right signature.\n\nNow, any piece of code can get a reference to the object and treat it as though it were a "Printable" object -- there isn't any such class, but in this context, the interface is like a class.\n\nThis allows you to create lots of class hierarchies with different roots, but use any object as "printable".\n\nNote that some interfaces have no methods at all -- just the fact that they implement an empty interface indicates something about the object.
277138
meaning, programming with a style that is consistent throughout the project, and be readable by other people that do not write the program easily. It's important since you could be looking up at a code that you haven't touched for years and found out how messy the code is, and be stupidly looking the code working out how everything work from scratch again
749800
UML is a better approach
1140564
I am not sure i got ur question but i presume you are asking about C++ in general. It object oriented programming different form the structured programming style of C.Object oriented binds data to methods and provides a better level of abstraction...if this sounds geek...learn about Classes and objects...else send me a mail...aint bragging but i am pretty good in C++