Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Java: объекты, классы и основные концепции ООП

Java — объектно-ориентированный язык. Поддерживает:

Объекты в Java

Реальные объекты (собака, машина) имеют состояние и поведение. Программные объекты — аналогично: состояние в полях, поведение в методах. Методы оперируют внутренним состоянием, взаимодействие — через вызов методов.

Классы в Java

Класс — чертеж для создания объектов.

public class Dog {
  String breed; int age; String color;
  void barking() { }
  void hungry() { }
  void sleeping() { }
}

Типы переменных в классе

Конструкторы

Инициализируют объект при создании. Имя совпадает с именем класса, нет возвращаемого типа. Если не задан — компилятор создаёт конструктор по умолчанию. Может быть несколько (перегрузка).

public class Puppy {
  public Puppy() { }
  public Puppy(String name) { /* один параметр */ }
}

Также поддерживаются Singleton-классы (единственный экземпляр).

Создание объекта

Три шага: Объявление (тип и имя), Инстанцирование (new), Инициализация (вызов конструктора).

Puppy myPuppy = new Puppy("tommy");

Доступ к полям и методам

ObjectReference = new Constructor();
ObjectReference.variableName;
ObjectReference.MethodName();
public class Puppy {
  int puppyAge;
  public Puppy(String name) { System.out.println("Name: " + name); }
  public void setAge(int age) { puppyAge = age; }
  public int getAge() { System.out.println("Age: " + puppyAge); return puppyAge; }
  public static void main(String[] args) {
    Puppy myPuppy = new Puppy("tommy");
    myPuppy.setAge(2);
    myPuppy.getAge();
    System.out.println("Variable: " + myPuppy.puppyAge);
  }
}
// Output:
// Name: tommy
// Puppy's age is :2
// Variable Value :2

Правила объявления исходного файла

Пакеты (Packages)

Категоризация классов и интерфейсов. Необходима при большом количестве классов.

Import-операторы

Упрощают доступ к классам: import java.io.*; загружает все классы пакета.

Пример: Employee и EmployeeTest

// Employee.java
import java.io.*;
public class Employee {
  String name; int age; String designation; double salary;
  public Employee(String name) { this.name = name; }
  public void empAge(int empAge) { age = empAge; }
  public void empDesignation(String empDesig) { designation = empDesig; }
  public void empSalary(double empSalary) { salary = empSalary; }
  public void printEmployee() {
    System.out.println("Name: " + name);
    System.out.println("Age: " + age);
    System.out.println("Designation: " + designation);
    System.out.println("Salary: " + salary);
  }
}
// EmployeeTest.java
import java.io.*;
public class EmployeeTest {
  public static void main(String[] args) {
    Employee empOne = new Employee("James Smith");
    Employee empTwo = new Employee("Mary Anne");
    empOne.empAge(26); empOne.empDesignation("Senior Software Engineer"); empOne.empSalary(1000); empOne.printEmployee();
    empTwo.empAge(21); empTwo.empDesignation("Software Engineer"); empTwo.empSalary(500); empTwo.printEmployee();
  }
}

Результат

Name: James Smith
Age: 26
Designation: Senior Software Engineer
Salary: 1000.0
Name: Mary Anne
Age: 21
Designation: Software Engineer
Salary: 500.0

Далее: примитивные типы данных.

java

  1. Классы и объекты в C#: Фундаменты надёжного ООП
  2. Классы и объекты в C++: практическое руководство по объектно-ориентированному программированию
  3. Дружественные функции и классы в C++: мастерство контроля доступа
  4. Переменные и литералы в Java: подробное руководство
  5. Классы и объекты в Java: практическое руководство
  6. Ключевое слово final в Java: переменные, методы и классы
  7. Оператор instanceof в Java: полное руководство с примерами
  8. Абстрактные классы и методы в Java: полное руководство
  9. Вложенные и внутренние классы в Java: типы, примеры и лучшие практики
  10. Анонимные внутренние классы в Java: определение, синтаксис и практические примеры