Between encapsulation and abstraction, which one supports the other and how?
481077
Abstraction supports encapsulation.\n\nAbstraction is a way to access a given class via an alternative means / syntax. For example, in ASP.NET, there's a new abstraction layer for data access; instead of creating ADO-based connections and physically binding data to a given control programmatically, you can enter a tag that gives all the properties you want to use in binding your data, and the abstraction layer will do the "grunt" work for you.\n\nThat's possible because of encapsulation, which is taking many smaller parts and making them into a larger whole. For example, again in .NET, there are namespaces, organized by functionality, which contain classes, each of which performs a smaller task but, when combined with other classes and other namespaces, can do more work.\n\nFor example, in the System. Data. SqlClient namespace of .NET, there is a SqlConnection, which allows you to connect to a database; SqlCommand, which allows you to execute commands on the database once connected; SqlParameter, which allows you to specify parameters to be used as part of the SqlCommand; etc., etc.\n\nBy encapsulating all these functions in a single namespace, we can combine them for use as we need; we can be very specific in the manner in which we go about getting data, if we like.\n\nBy adding the abstraction layer to use a tag to employ these classes in this namespace, we can further simplify how we go about getting data for a specific task.
792978
all types in java are signed.  that's how it was designed.  i have found it to be a problem only very rarely.
203981
http://en.wikipedia.org/wiki/Aspect_oriented_programming\n\nWikipedia wins again!
975053
in it's simplicity the .net framework takes the code you write and compiles it to an intermidiate language.  The .net framework can then take this code and convert it to run on any system (as long as the framework is installed)  This gives the advantage of portability.
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++
1117373
the client server paradigm is similar because oo is all about making things into 'objects' to abstract away data into easily understood packages, networks use 'packets' to encapsulate data, also abstracting away details.
398955
Java and C++ are remarkably similar in terms of syntax.  Java has all of the same constructs that you are familiar with: for loops, while loops, pre- and post-increment, if-then-else, etc.  So you should be able to pick up the syntax pretty quickly.\n\nThe differences between Java and C++ have more to do with structure than syntax: the way that files are arranged, the way that code is compiled and run, the way that rules are enforced, and the things that come with the package.\n\nWith Java, there is just one file to describe a class, with the interface and the implementation together in the same file.  In C++ these parts are split into a header (.h) file and an implementation (.cpp) file.  This makes things simpler, in that with Java there are half as many files to manage.  It also makes it impossible to lose half of your class, as you can in C++ by losing either the .h or the .cpp file.  It also makes your code more open: if you want to show someone your interface (API) code, then they can also see your implementation.  There is a workaround for this, however, in that you can use the Java-Doc comments to automatically generate HTML-based documentation for your code that only describes your public API.  (Another nice difference –- automatic documentation!)\n\nJava source code is compiled to .class bytecode files.  These files are then run by the Java interpreter/JVM.  This adds an extra layer between your code and the OS, but surprisingly causes very little deterioration in performance, mostly due to really smart JVMs.  This buys you two things: portability and safety.  The portability comes from the fact that code is written to the JVM, which is an idealized stack-based virtual machine, and not to the quirks of the underlying OS.  This is what leads to the infamous “write once, run anywhere” claim.  The safety comes from the fact that all bytecode is checked at run time for any malicious or mal-formed code, and the JVM can restrict the access of any piece of code so that it can't get to sensitive stuff (like your personal files, or the microphone, for instance).\n\nSafety is the common heading for several other differences between Java and C++: there are no pointers in Java (at least not directly), so there are no dangling pointers, uninitialized pointers, or bizarre pointer math errors; arrays are dynamically checked for staying within the boundaries, so there are no out-of-bounds errors; you can't cast an variable to an incompatible type in Java, so data structures can't get corrupted in that way; exceptions must be caught (this check is done at compile time), so there are no uncaught exceptions to bring down your application; and the list goes on!\n\nThus far it might seem like Java is missing a lot of things that are found in C++.  So what would you probably miss if you made the move to Java?  Pointers, templates, operator overloading, multiple inheritance, and a preprocessor.  What wouldn't you miss?  Pointers, templates, operator overloading, multiple inheritance, and a preprocessor.  You might have noticed that these two lists are remarkably similar.  How can this be?  It is one of those things where you might miss some particular feature at first, and even wonder how in the world you will do without it, but once you are familiar with Java and the way that it works, you wonder why you ever bothered with that complicated stuff in the first place.  Java has elegant replacements for many of these missing items, or better yet, makes them completely unnecessary by design.  A good example is multiple inheritance – in Java there is only a single parent class for a given user-defined class, but a class can implement any number of interfaces, which are special classes that only specify methods and operations but have no implementation whatsoever.  A class that implements a given interface can be passed anywhere that the interface is expected, regardless of its size or the way that it is implemented.  It
549796
Chosing Interfaces vs Abstract Classes in not an eithier or choice, consider for example , if your applications functionality is likely to change in future then you could probably define the methods in an interface and let the functionality be defined by the class that implements the inteface,and thereby still maintain compatablity after revision, but on the other hande lets say, in case you want to write a class that forces a certain behaviour, ie , the behaviour remains constant, then you are better of defining it as an abstract class. Abstract classes are excellent ways to create planned inheritance hierachy, and remember a class that creates an abstract method can also call that method.\nAs a rule try to remember, if you are into creating API's then interfaces are the choice , on the other hand if you are building something like an application framework, consider using abstract classes to force certain behavioural characteristics,into all classes that extend your abstract class and let that class define the rest.
676348
Your program is only a good as the documentation. Your program may be a work of art, but if it is not documented properly, then it will not achieve it's full potential. It is the same with any system design.  If it is not documented properly, or is not worded in plain english, then\nthe entire system suffers.
68252
Manish it hardly matters if you choose either of them. Finally the code is compiled into IL which is the intermediatory language. If you are comfortable with VB U go for VB.NET if your background is C/C++ go for C#.NET. My personal opinion is VB.NET is much easier to work with.
1066843
I'm assuming you're asking from a Java point of view, so I'll answer along those lines.\n\nAn interface defines a set of methods clustered around common theme. It provides no implementation at all. When a class "implements" an interface, it must provide an implemenation for each method defined in the interface.\n\nAn abstraction (or abstract class) also defines a set of methods clustered around a common theme. The main different is that the abstract class may have implemenation provided behind some or all of the methods, although it does not need to.\n\nIn Java, a class must extend exactly [abstract] class. If not specified, then Object is defaulted as that extended class.\n\nA class may implement as many interfaces as it wishes.
1049307
reply:\n\nConstants are not variables you can not write to them they are constants for one. For example having a constant called pie you could not reassign it. Now you can use constants in what ever you want provided they dont break the code security.\n\n- Mike Roth
758524
In Java, everything is an object. This way, true encapsulation is achieved. Java is more strongly typed than C++. Java also has stronger enumerated types and the ability to synchronize threads.\n\nWith Java's swing library, it makes it easier to develop GUI applications. A single window can be created by using a few lines of code with Java rather than hundreds for C++...
142433
you havn't closed "void determinecost (...)" function with curly braces " } "\n\nin c++, you have to close any block of code with } that has been opened with {
394063
flexibility\ndegeneracy\nuniversal\nwobble\nnon overlapping
105117
Basically, you have one structure with some functions definitions and/or variables.  Then you make another structure that inherits the functions and varaibles from the 1st structure.  This new struture can have new variables and functions as well.  Some of this is language dependent.
725567
I recomend to use what u know better from those 2 PL but for very large applications C++ is stronger.\nBut looking at today's hardware configuration for business applications you can use either C++ or Basic the diference in performance is insignificant, and Basic it's more easy and faster to accomodate with if you don't master the PL yet.