Maison  >  Article  >  Java  >  Comment implémenter l’encapsulation orientée objet en Java ?

Comment implémenter l’encapsulation orientée objet en Java ?

PHPz
PHPzavant
2023-05-09 18:22:16826parcourir

1. Comprendre le packaging

En une phrase simple, ce sont les détails du blindage de la coque.

Par exemple, un téléphone mobile contient des batteries, des puces, des cartes mères, des appareils photo, des écrans et d'autres composants électroniques.

Pour nos utilisateurs, il suffit de savoir comment allumer et éteindre le téléphone, régler le volume, passer et recevoir des appels

Il n'y a pas besoin d'y penser. le câblage interne Oui, peu importe le modèle de l’appareil électronique.

Les fabricants de téléphones mobiles utiliseront donc des boîtiers pour encapsuler les appareils électroniques à l'intérieur afin de les rendre plus pratiques à utiliser pour les utilisateurs. C'est l'idée

et notre noyau orienté objet. l'encapsulation de l'une des fonctionnalités est similaire.

Plus formellement, c'est : combiner organiquement les données et les méthodes d'exploitation des données, masquer les propriétés et les détails d'implémentation de l'objet, et exposer uniquement l'interface pour interagir avec l'objet

#🎜 🎜# Selon ma compréhension populaire, par exemple, lorsque je communique avec quelqu'un, je ne fais pas attention à la façon dont il émet des sons, j'ai seulement besoin d'écouter ce qu'il dit

#🎜🎜 #2. droits - modificateur d'accès

Puisque l'encapsulation en Java ne laisse que l'interface pour interagir avec l'objet, alors comment implémenter cette interface et contrôler et masquer les détails à l'intérieur, c'est Mentionnons le modificateur d'accès#🎜🎜 #

Le rôle du modificateur d'accès : L'encapsulation se fait via des classes de contrôle et des droits d'accès

La classe peut combiner des données et des méthodes d'encapsulation de données

L'accès. l'autorisation est utilisée pour contrôler si la méthode ou le champ peut être utilisé directement en dehors de la classe privé

privé

default#🎜 🎜 #✓#🎜🎜 #Différentes catégories dans un même forfait# 🎜🎜#✓#🎜🎜 #✓✓Sous-classes dans différents packages#🎜🎜 # ✓✓Feizi dans différents forfaits Catégorie #🎜 🎜# ✓#🎜 🎜#

???? (Public) public : Les membres, méthodes ou classes qu'il modifie sont accessibles n'importe où.

???? (hérité) protégé : voir ci-dessous,

???? (par défaut) par défaut : accessible dans le même package

???? privé : accessible uniquement dans la classe actuelle.

public class TestDemo01 {
    int year;
    //默认权限,可以省略default
    private int month;
    //私有权限,只能在同一个类中访问
    public int day;
    //公有权限,那里都能访问
}

Démontrons ci-dessous

Dans la première classe TestDemo01

Comment implémenter l’encapsulation orientée objet en Java ?

Dans la deuxième classe TestDemo02

Comment implémenter l’encapsulation orientée objet en Java ?

nous avons constaté que ce mois est introuvable, c'est parce que nous avons écrit son autorisation d'accès comme S'il est modifié en privé, il devient privé et n'est plus accessible aux autres classes. Il s'agit de l'implémentation de l'encapsulation, le mois ne peut être utilisé que dans TestDemo01.

Nous implémentons l'encapsulation pour ne laisser que l'interface et ne pas afficher les détails.

Montrons l'interface encapsulée

Comment implémenter l’encapsulation orientée objet en Java ?

S'il y a de nombreux membres privés, nous n'avons pas besoin d'écrire ces deux-là un par un. Les interfaces peuvent être écrites rapidement à l'aide de la fonction idea,

Comment implémenter l’encapsulation orientée objet en Java ?

3. Pour comprendre l'encapsulation, vous devez savoir - package

3.1 Comprendre le concept de package

L'existence d'un package est de mieux gérer les classes et de les combiner. plusieurs classes Rassemblez-les dans un groupe et regroupez-les dans des répertoires similaires

Package est l'incarnation du mécanisme d'encapsulation pour les classes, les interfaces, etc. C'est un bon moyen d'organiser des classes ou des interfaces, etc.

Package également. a une autre fonction très utile Oui, les classes du même nom sont autorisées à exister dans le même projet, à condition qu'elles se trouvent dans des packages différents.

Comment implémenter l’encapsulation orientée objet en Java ?

3.2 Importer des classes dans le package

Comment implémenter l’encapsulation orientée objet en Java ?

Voyons pourquoi l'erreur est signalée

Comment implémenter l’encapsulation orientée objet en Java ?

Comment résoudre ce problème, vous devez alors spécifier le package spécifique

package com.toabao.www;
import java.util.*;
import java.sql.*;
public class TestDemo03 {
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        System.out.println(Arrays.toString(array));
        java.util.Date date = new java.util.Date();
        java.sql.Date date1 = new java.sql.Date(12);
    }
}

Utilisez import static pour importer le package Méthodes et champs statiques

import static java.lang.Math.*;
public class TestDemo01 {
public static void main(String[] args) {
    double x = 13;
    double y = 14;
    double result = sqrt(pow(x,2)+pow(y,2));
}
}

3.3 Package personnalisé

Regardez d'abord les étapes si vous ne savez pas comment, vous pouvez essayer de créer un package vous-même

Comment implémenter l’encapsulation orientée objet en Java ?

Remarque :

1. est créé, dans le fichier, le dernier Il doit y avoir une déclaration de package ci-dessus pour indiquer dans quel package se trouve le fichier (l'idée l'ajoutera automatiquement)

Comment implémenter l’encapsulation orientée objet en Java ?

2. nom de domaine

3. Nous pouvons jeter un œil à l'emplacement où le code est stocké. Le package que vous venez de créer

Comment implémenter l’encapsulation orientée objet en Java ?

3.4 Contrôle des autorisations d'accès du package

La même classe dans le même package

package Demo01;
public class Test01 {
    int count = 10;
    public void func(){
        System.out.println(count);
    }
}

Le. l'accès de différentes classes dans le même package

Comment implémenter l’encapsulation orientée objet en Java ?

est différent Les autorisations d'accès aux sous-classes dans les packages

le nombre précédent est par défaut, ce qui est par défaut. Les sous-classes et les non-sous-classes dans différents packages ne sont pas accessibles

Comment implémenter l’encapsulation orientée objet en Java ?

. Si vous devez accéder, vous pouvez modifier les autorisations d'accès en public

Comment implémenter l’encapsulation orientée objet en Java ?

Comment implémenter l’encapsulation orientée objet en Java ?

3.5 Packages courants dans Java

1 java.lang : classes de base couramment utilisées dans le système (String, Object). Vous n'avez pas besoin de les écrire après JDK1.1, ils seront automatiquement importés,

2. java .lang.reflflect : package de programmation de réflexion java

3. java.net : package de développement de programmation réseau

4. : package de support pour le développement de bases de données

5. java.util : un programme outil fourni par java Package

6 java.io : package de développement de programmation d'E/S

.
default# 🎜 🎜#protected

inheritance

public

public

# 🎜🎜##🎜 🎜#

Même catégorie dans le même colis

✓# 🎜🎜#

#🎜 🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer