Maison >Java >javaDidacticiel >Résumé des idées et méthodes de programmation Java

Résumé des idées et méthodes de programmation Java

巴扎黑
巴扎黑original
2017-07-17 16:17:412971parcourir

J'ai toujours eu l'impression que le livre était trop verbeux. Après avoir lu le résumé, il sera plus facile de s'en souvenir plus tard. Je voulais être paresseux et chercher les résumés d'autres personnes en ligne, mais je n'en ai pas trouvé un bon. un, j'ai donc dû faire de mon mieux pour le résumer le mieux possible.

Introduction aux objets

J'ai pensé à ça quand j'ai saw Introduction aux objets Ce livre

Contenu :

1.1 Processus d'abstraction
1.2 Chaque objet Il existe une interface
1.3 Chaque objet fournit des services
1.4 Implémentation concrète cachée
1.5 Réutilisation de l'implémentation concrète
1.6 Héritage
1.7 Objets interchangeables avec polymorphisme
1.8 Héritage racine unique structure
1.9 Conteneur
1.10 Création et durée de vie des objets
1.11 Gestion des exceptions : gestion des erreurs
1.12 Programmation concurrente
1.13 Java et Internet
1.14 Résumé


J'ai l'impression que je vais enfin maîtriser Java après avoir lu ceci. Cependant, ce chapitre ne présente que les concepts de base de la POO, y compris un aperçu des méthodes de développement, et comprend l'importance des objets.


1.1 Processus d'abstraction

Expliquer l'orientation à travers les lacunes des autres langages Le langage objet est bon.

Le langage assembleur est une légère abstraction de la machine sous-jacente. Le langage impératif (tel que C, BASIC) est une abstraction du langage assembleur qui contrôle directement le matériel de l'ordinateur. s'appuient sur des structures informatiques pour résoudre des problèmes. Les langages POO résolvent des problèmes en fonction de la structure du problème et ne se limitent à aucun type de problème spécifique.

1.2 Chaque objet possède une interface

Interface : détermine ce qui peut être émis pour un objet spécifique Objet de requête : Tapez le nom

En regardant la description du texte, cela est devenu un problème philosophique. Il est facile de comprendre à partir de l'exemple suivant.

Light lt = new Light(); //对象lt.on;//接口向对象发出请求

1.3 Chaque objet fournit des services

Avantages : 1. Aide à améliorer la cohésion du logiciel 2. Chaque objet peut bien accomplir une tâche, mais il n'essaie pas de faire plus de choses.

Compréhension : Concevoir un lecteur de musique avec affichage des paroles, lecture, pause et affichage en arrière-plan (service) Pour le moment, ne vous contentez pas de fournir un objet (il n'essaie pas de le faire). faire plus), peut fournir trois objets pour compléter trois services, et trois objets fournissent trois services pour compléter un lecteur de musique (Cohésion).

1.4 Implémentation spécifique cachée

Téléchargez un framework depuis Github, mon objectif est d'atteindre Pour un rapide développement d'applications, le framework n'a qu'à me fournir des appels de méthodes, et cacher les autres n'affectera pas mes appels.

Autorisations d'accès : public > protégé (package + classe de base) > autorisations d'accès au package (par défaut lorsqu'il n'y a pas de mot-clé) > 1.5 Implémentation spécifique de la réutilisation

La réutilisation fait référence à l'utilisation de l'héritage ou de la combinaison dans une classe.

Héritage ---- est la relation d'un litchi est un fruit
  • combinaison- ---A une relation Il existe un moyen de dormir sur le ventre
  • 1.6 Héritage

Une sous-classe est dérivée d'une classe parent. La sous-classe peut absorber les attributs de données et les comportements de la classe parent et peut étendre de nouvelles capacités.

1.7 Objets interchangeables avec polymorphisme

class Shape{ 
  draw();
  erase();
  move();
  getColor();
  setColor();
}

对doSomething的调用会自动地正确处理,而不管对象的确切类型(可互换对象)。

doSomething(Shape shape)的执行是指你是Shape类或者父类为Shape,而不是你是Circle类就执行这样,你是Triangle 类就执行那样。理解了可以去看设计模式之策略模式。

这里还涉及到向上转型,如下图:

 

1.8 单根继承结构

 1、所有类都继承自单一的基类

public class JianCheng extends Object {  
}
public class JianCheng {  public static void main(String[] args) {  
        JianCheng jiancheng= new JianCheng();  
        System.out.println(JianCheng instanceof Object);  
    }  
}

Sortie : true //DescriptionLa classe JianCheng hérite par défautObjet

2. Assurez-vous que tous les objets ont certaines fonctions

Les méthodes d'objet seront héritées par les sous-classes, telles que : clone(), est égal à (Object obj), toString() et d'autres méthodes.

3. La collecte des déchets devient facile

L'objet est garanti d'avoir son (Objet ) Saisissez les informations pour ne pas rester bloqué dans l'incapacité de déterminer le type d'un objet. Ceci est important pour les opérations au niveau du système (telles que la gestion des exceptions).

1.9 Conteneur

détient l'accès à d'autres objets Références sont appelés conteneurs (collections), tels que List (utilisé pour stocker des séquences), Map (également connu sous le nom de tableau associatif, utilisé pour établir des associations entre des objets), Set (un seul de chaque type d'objet est conservé) et tels que Queues, arbres, piles et plus encore.

Comparaison de ArrayList et LinkedList, le premier a la forme d'un tableau, l'accès aléatoire aux éléments a une faible surcharge, mais les opérations d'insertion et de suppression ont des frais généraux élevés. Cette dernière se présente sous la forme d'une liste chaînée, et les opérations d'insertion et de suppression sont pratiques.

1.10 Création et durée de vie des objets

Comprendre le différence entre les objets placés sur la pile et le tas

  • Pile-- l'allocation et la libération sont prioritaires Position , sacrifie la flexibilité car doit connaître le nombre exact, la durée de vie et le type d'objets.

  • Heap - objets créés dynamiquement dans le pool de mémoire au moment de l'exécution Connaître le numéro , durée de vie et type d'objets . La gestion dynamique nécessite beaucoup de temps pour allouer de l'espace de stockage dans le tas, mais créer de l'espace de stockage et libérer de l'espace de stockage est très pratique.

Java adopté En utilisant le mot-clé new pour créer un objet à l'aide de l'allocation dynamique de mémoire, le compilateur peut déterminer combien de temps l'objet survivra et le détruire automatiquement via le « mécanisme de récupération de place ».

1.11 Gestion des exceptions : gestion des erreurs

Une exception est un objet qui est lancé depuis l'emplacement de l'erreur et qui est intercepté par un type spécifique de gestionnaire d'exceptions d'erreur, via try--catch ou throw. La gestion des exceptions est comme un autre chemin exécuté lorsqu'une erreur se produit, parallèlement au chemin d'exécution normal du programme.

Si le code Java n'écrit pas le code de gestion des exceptions correct, vous recevrez un message d'erreur au moment de la compilation. Par exemple : IOException, ClassCastException (exception de conversion de classe), NullPointerException (exception de pointeur nul), etc.

1.12 Programmation simultanée

Traitement de plusieurs tâches à la fois en même temps L'idée d'une tâche est de s'exécuter dans plusieurs threads.

Il existe un danger caché dans le fonctionnement multithread synchrone et les ressources partagées. A voulait à l'origine utiliser a=Love You, mais un certain fil de discussion a conduit à a = hate you, puis A l'a utilisé, donc la confession de A échouera définitivement.

1.14 Résumé

Le premier chapitre est constitué de connaissances théoriques, et de nombreux points de connaissance sont évidemment faciles Cependant, la longue discussion rend la compréhension difficile. Il y a quelques informations pratiques mais trop de superflu.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn