Java in a Nutshell, 5th Edition [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Java in a Nutshell, 5th Edition [Electronic resources] - نسخه متنی

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید



3.12. C++ Features Not Found in Java


This chapter indicates
similarities and differences between Java and C++ in footnotes. Java
shares enough concepts and features with C++ to make it an easy
language for C++ programmers to pick up. Several features of C++ have
no parallel in Java, however. In general, Java does not adopt those
features of C++ that make the language significantly more
complicated.

C++
supports multiple inheritance of method implementations from more
than one superclass at a time. While this seems like a useful
feature, it actually introduces many complexities to the language.
The Java language designers chose to avoid the added complexity by
using interfaces instead. Thus, a class in Java can inherit method
implementations only from a single superclass, but it can inherit
method declarations from any number of interfaces.

C++ supports templates that allow you, for example, to implement a
Stack class and then instantiate it as
Stack<int> or
Stack<double> to produce two separate types:
a stack of integers and a stack of floating-point values. Java 5.0
introduces parameterized types or
"generics" that provide similar
functionality in a more robust fashion. Generics are covered in Chapter 4.

C++
allows you to define operators that perform arbitrary operations on
instances of your classes. In effect, it allows you to extend the
syntax of the language. This is a nifty feature, called operator
overloading, that makes for elegant examples. In practice, however,
it tends to make code quite difficult to understand. After much
debate, the Java language designers decided to omit such operator
overloading from the language. Note, though, that the use of the
+ operator for string concatenation in Java is at
least reminiscent of operator overloading.

C++ allows you to define conversion functions for a class that
automatically invokes an appropriate constructor method when a value
is assigned to a variable of that class. This is simply a syntactic
shortcut (similar to overriding the assignment operator) and is not
included in Java.

In C++, objects are manipulated by
value by default; you must use & to specify a
variable or function argument automatically manipulated by reference.
In Java, all objects are manipulated by reference, so there is no
need for the & syntax.


    / 1191