美文网首页
知识点11-面向对象

知识点11-面向对象

作者: 二十二_0cbe | 来源:发表于2019-12-13 17:51 被阅读0次
大纲

1. 三大特性

封装
继承
多态

2. 单例模式

线程不安全问题: uniqueInstance 被实例化多次

public class Singleton {

    private static Singleton uniqueInstance;

    private Singleton() {
    }

    // 懒汉式-线程不安全:多个线程可能同时进入 if (uniqueInstance == null)语句,实例化多次 uniqueInstance。
    public static Singleton getUniqueInstance() {
        if (uniqueInstance == null) {
            uniqueInstance = new Singleton();
        }
        return uniqueInstance;
    }

    // 懒汉式-线程安全:对 getUniqueInstance() 方法加锁,那么在一个时间点只能有一个线程能够进入该方法,从而避免了实例化多次 uniqueInstance。
    public static synchronized Singleton getUniqueInstance() {
    if (uniqueInstance == null) {
        uniqueInstance = new Singleton();
    }
    return uniqueInstance;
    }

    // 饿汉式-线程安全:直接实例化 uniqueInstance 的方式。但是丢失了延迟实例化带来的节约资源的好处。
    private static Singleton uniqueInstance = new Singleton();
}

3. MVC模式

包括模型,视图,控制器三层:
模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
视图(View) - 界面设计人员进行图形界面设计。
控制器(Controller)- 负责转发请求,对请求进行处理。


三种模式的组合:
View层,单独实现了组合模式(组合对象拥有一个或者多个组件对象,因此组合对象的操作可以委托给组件对象去处理,而组件对象可以是另一个组合对象或者叶子对象。)
Model层和View层,实现了观察者模式
View层和Controller层,实现了策略模式(不同动物不同叫声)

4. JDK常用

装饰者模式:为对象动态添加功能,创建装饰者调用该对象。

  • java.io.BufferedInputStream(InputStream)
  • java.io.DataInputStream(InputStream)
  • java.io.BufferedOutputStream(OutputStream)
  • java.util.zip.ZipOutputStream(OutputStream)
  • java.util.Collections#checkedList|Map|Set|SortedSet|SortedMap

适配器模式:把一个类接口转换成另一个用户需要的接口。

迭代器模式:提供一种顺序访问聚合对象元素的方法,并且不暴露聚合对象的内部表示。

相关文章

  • 知识点11-面向对象

    1. 三大特性 封装继承多态 2. 单例模式 线程不安全问题: uniqueInstance 被实例化多次 3. ...

  • 11-面向对象

    内容介绍: 接口多态 1. 接口 1.1 接口概念 接口是功能的集合,同样可看做事一种数据类型,是比抽象类更为抽象...

  • Python学习-面向对象

    查看所有Python相关学习笔记 面向对象 面向对象知识点汇总: 面向对象静态属性实例属性(self)静态方法(@...

  • 面向对象、设计原则、设计模式、编程规范、重构,这五者有何关系?

    面向对象 主流编程范式分为以下3种 面向对象 面向过程 函数式编程 面向对象需要掌握的7个知识点 面向对象四大特性...

  • “老奶奶”的python学习笔记(12)

    知识体系 第12关:面向对象编程 知识点 面向对象编程(Object Oriented Programming) ...

  • Dart面向对象编程(二)

    本篇内容主要是对面向对象知识点扩展:主要包括以下内容:继承,抽象类,接口,Mixins。面向对象基础相关知识点,可...

  • java总结

    Java是一门面向对象编程语言. java知识点梳理 java面向对象的特点java面向对象的三个基本特性: 封...

  • lesson 5 面向对象及原型链 2021-04-29

    课程标题 面向对象及原型链 课程目标 面向对象思想 原型及原型链 继承 知识点 面向对象思想 原型链的指向 new...

  • 软件设计

    知识点分数说明比例面向对象12面向对象基本概念、面向对象分析与设计、UML、设计模式16.00%软件工程基础知识1...

  • Java 面向对象面试指导

    更详细Java面试请点击这里 Java 面向对象必会知识点 Java 的核心是面向对象编程,所有的 Java 程序...

网友评论

      本文标题:知识点11-面向对象

      本文链接:https://www.haomeiwen.com/subject/wiaiyctx.html