gb-java-devel/jc3-03.tex

111 lines
3.6 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[j-spec.tex]{subfiles}
\begin{document}
%\setcounter{tocdepth}{3}
\tableofcontents
\section{Специализация: данные и функции}
\subsection{В предыдущем разделе}
Будет рассмотрен базовый функционал языка, то есть основная встроенная функциональность, такая как математические операторы, условия, циклы, бинарные операторы. Далее способы хранения и представления данных в Java, и в конце способы манипуляции данными, то есть функции (в терминах языка называющиеся методами).
\subsection{В этом разделе}
Разберём такие основополагающих в Java вещи, как классы и объекты, а также с тем, как применять на практике основные принципы ООП: наследование, полиморфизм и инкапсуляцию. Дополнительно рассмотрим устройство памяти в джава.
\begin{itemize}
\item \nom{класс}{- }
\item \nom{объект}{- }
\item \nom{статика}{- }
\item \nom{стек}{- }
\item \nom{куча}{- }
\item \nom{сборщик мусора}{- }
\item \nom{конструктор}{- }
\item \nom{вложенный класс}{- }
\item \nom{внутренний класс}{- }
\item \nom{инкапсуляция}{- }
\item \nom{наследование}{- }
\item \nom{полиморфизм }{- }
\end{itemize}
\begin{lstlisting}[language=Java,style=JCodeStyle]
package ru.gb.jcore;
public class Cat {
String name;
String color;
int age;
}
\end{lstlisting}
\begin{lstlisting}[language=Java,style=JCodeStyle]
Сat cat0;
cat0 = new Cat();
Cat cat1 = new Cat();
\end{lstlisting}
\begin{lstlisting}[language=Java,style=JCodeStyle]
package ru.gb.jcore;
public class Main{
public static void main(String[] args) {
Cat cat1 = new Cat();
Cat cat2 = new Cat();
cat1.name = "Barsik";
cat1.color = "White";
cat1.age = 4;
cat2.name = "Murzik";
cat2.color = "Black";
cat2.age = 6;
System.out.println("Cat1 named: " + cat1.name + " is " + cat1.color + " has age: " + cat1.age);
System.out.println("Cat2 named: " + cat2.name + " is " + cat2.color + " has age: " + cat2.age);
}
}
\end{lstlisting}
\begin{verbatim}
Cat1 named: Barsik is White has age: 4
Cat2 named: Murzik is Black has age: 6
\end{verbatim}
\begin{lstlisting}[language=Java,style=JCodeStyle]
Cat cat1 = new Cat();
Cat cat2 = cat1;
cat1.name = "Barsik";
cat1.color = "White";
cat1.age = 4;
cat2.name = "Murzik";
cat2.color = "Black";
cat2.age = 6;
System.out.println("Cat1 named: " + cat1.name + " is " + cat1.color + " has age: " + cat1.age);
System.out.println("Cat2 named: " + cat2.name + " is " + cat2.color + " has age: " + cat2.age);
\end{lstlisting}
\begin{verbatim}
Cat1 named: Murzik is Black has age: 6
Cat2 named: Murzik is Black has age: 6
\end{verbatim}
\begin{lstlisting}[language=Java,style=JCodeStyle]
public class Cat {
String name;
String color;
int age;
void voice() {
System.out.println(name + " meows");
}
void jump() {
if (this.age < 5) System.out.println(name + " jumps");
}
}
\end{lstlisting}
\printnomenclature[40mm]
\end{document}