Knigionline.co » Программное обеспечение » Java руководство для начинающих

Java руководство для начинающих - Шилдт Герберт (2012)

Java руководство для начинающих
  • Год:
    2012
  • Название:
    Java руководство для начинающих
  • Автор:
  • Жанр:
  • Оригинал:
    Английский
  • Язык:
    Русский
  • Издательство:
    Вильямс
  • Страниц:
    316
  • ISBN:
    978-5-8459-1770-6
  • Рейтинг:
    4.3 (4 голос)
  • Ваша оценка:
"Java: руководство для начинающих", автором которого является Герберт Шилдт, а также на его счету популярные по всему миру книги по языкам программирования, таким образом, чтобы у читателя получилось быстро освоить основные навыки программирования на Java. Полностью обновленное по версии Java Platform, Standard Edition 7, пятое издание этого учебного пособия начинается с обзора самых простейших основ, не исключая выполнение простых программ на Java и компилирование. Далее в нем описаны синтаксические конструкции и ключевые слова составляющие основу Java как языка программирования. Затем следует изложение наиболее передовых языковых средств Java, включая многопоточное и обобщенное программирование. Книга завершается введением в библиотеку Swing. Использованный в книге справочный и учебный материал позволяет читателю быстро и легко освоить основы программирования на Java. В целях упрощения процесса изучения Java, учебник построен следующим образом: - Базовые понятия и навыки. Все главы начинаются с перечня базовых понятий и навыков, которые будет необходимо усвоить читателю. - Обращение к знатоку. Во врезках под этим заголовком даны полезные рекомендации в форме вопрос-ответ. - Примеры для опробования. Это примеры небольших проектов, наглядно показывающие, как применять полученные навыки и знания на практике. - Упражнения для самопроверки. В конце каждой главы присутствуют контрольные вопросы и задания для проверки прочности изученного материала. - Подробные комментарии к примерам программ. Все примеры программ в этом учебном пособии снабжены подробными комментариями, которые описывают приемы программирования Java и демонстрируемые языковые средства.

Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги

Следует особо подчеркнуть, что доступ к конкретным членам класса определяется типом переменной ссылки на объект, а не типом объекта, на который она ссылается. Это означает, что если ссылка на объект подкласса присваивается переменной ссылки на объект суперкласса, то доступ разрешается только к тем частям этого объекта, которые определяются суперклассом. Именно поэтому переменной х2 недоступен член b класса Y, когда она ссылается на объект этого класса. И в этом есть своя логика, поскольку суперклассу ничего не известно о тех членах, которые добавлены в производный от него подкласс. Именно поэтому последняя строка кода в приведенном выше примере была закомментирована.

Несмотря на кажущийся несколько отвлеченным характер приведенных выше рассуждений, им можно найти ряд важных применений на практике. Одно из них рассматривается ниже, а другое — далее в этой главе, когда речь пойдет о переопределении методов.

Один из самых важных моментов для присваивания ссылок на объекты подкласса переменным суперкласса наступает тогда, когда конструкторы вызываются в иерархии классов. Как вам должно быть уже известно, в классе нередко определяется конструктор, принимающий объект своего класса в качестве параметра. Благодаря этому в классе может быть сконструирована копия его объекта. Этой особенностью можно выгодно воспользоваться в подклассах, производных от такого класса. В качестве примера рассмотрим очередные версии классов TwoDShape и Triangle. В оба класса добавлены конструкторы, принимающие объект своего класса в качестве параметра.

class TwoDShape {

private double width;

private double height;

// Конструктор по умолчанию.

TwoDShape() {

width = height = 0.0;

}

// Параметризированный конструктор.

TwoDShape(double w, double h) {

width = w;

height = h;

}

// построить объект с одинаковыми значениями

// переменных экземпляра width и height

TwoDShape(double х) {

width = height = x;

}

// Построение одного объекта на основании другого объекта.

TwoDShape(TwoDShape ob) {

width = ob.width;

height = ob.height;

}

// Методы доступа к переменным width и height,

double getWidth() { return width; }

double getHeight() { return height; }

void setWidth(double w) { width = w; }

void setHeight(double h) { height = h; }

void showDim() {

System.out.println("Width and height are " +

width + " and " + height);

}

}

// Подкласс класса TwoDShape для треугольников,

class Triangle extends TwoDShape {

private String style;

// Конструктор по умолчанию.

Triangle() {

super();

style = "null";

}

// Конструктор класса Triangle.

Triangle(String s, double w, double h) {

super(w, h); // вызвать конструктор суперкласса

style = s;

}

// Конструктор с одним аргументом для построения треугольника.

Triangle(double х) {

super(х); // вызвать конструктор суперкласса

style = "isosceles";

}

// построить один объект на основании другого объекта

Triangle(Triangle ob) {

// Передача ссылки на объект Triangle конструктору класса TwoDShape.

super(ob);

style = ob.style;

}

double area() {

return getWidth() * getHeight() / 2;

}

void showStyle() {

System.out.println("Triangle is " + style);

}

}

class Shapes7 {

public static void main(String args[]) {

Triangle tl =

new Triangle("right", 8.0, 12.0);

// создать копию объекта tl

Triangle t2 = new Triangle(tl);

System.out.println("Info for tl: ");

tl.showStyle();

tl.showDim();

Перейти
Наш сайт автоматически запоминает страницу, где вы остановились, вы можете продолжить чтение в любой момент
Оставить комментарий