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 руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги

// Теперь метод area () является абстрактным.

abstract double area();

}

// Подкласс, производный от класса TwoDShape,

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

class Triangle extends TwoDShape {

private String style;

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

Triangle() {

super () ;

style = "null";

}

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

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

super(w, h, "triangle");

style = s;

}

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

Triangle(double х) {

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

style = "isosceles";

}

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

Triangle(Triangle ob) {

super(ob); // передать объект конструктору класса TwoDShape

style = ob.style;

}

double area() {

return getWidth() * getHeight() / 2;

}

void showStyle() {

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

}

}

// Подкласс, производный от класса TwoDShape,

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

class Rectangle extends TwoDShape {

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

Rectangle() {

super();

}

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

Rectangle(double w, double h) {

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

}

// построить квадрат

Rectangle(double х) {

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

}

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

Rectangle(Rectangle ob) {

super(ob); // передать объект конструктору класса TwoDShape

}

boolean isSquare() {

if (getWidth () == getHeightO) return true;

return false;

}

double area() {

return getWidth () * getHeightO;

}

}

class AbsShape {

public static void main(String args[]) {

TwoDShape shapes[] = new TwoDShape[4];

shapes[0] = new Triangle("right", 8.0, 12.0);

shapes[1] = new Rectangle(10);

shapes[2] = new Rectangle(10, 4);

shapes[3] = new Triangle(7.0);

for(int i=0; i < shapes.length; i++) {

System.out.println("object is " +

shapes[i].getName());

System.out.println("Area is " + shapes[i].area());

System.out.println();

}

}

}

Как показывает представленный выше пример программы, во всех подклассах, производных от класса TwoDShape, метод area () должен быть непременно переопределен. Убедитесь в этом сами, попробовав создать подкласс, в котором не переопределен метод area (). В итоге вы получите сообщение об ошибке во время компиляции. Конечно, возможность создавать ссылки на объекты типа TwoDShape по-прежнему существует, и это было сделано в приведенном выше примере программы, но объявлять объекты типа TwoDShape уже нельзя. Именно поэтому массив shapes сокращен в методе main () до 4 элементов, а объект типа TwoDShape для общей двумерной геометрической формы больше не создается.

И еще одно, последнее замечание. Обратите внимание на то, что в классе TwoDShape по-прежнему присутствуют определения методов showDim () и getName () и перед их именами нет модификатора abstract. В абстрактные классы вполне допускается (и часто практикуется) включать конкретные методы, которые могут быть использованы в своем исходном виде в подклассе. А переопределению в подклассах подлежат только те методы, которые объявлены как abstract.

Использование ключевого слова final

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