面向对象编程(一)

一.概述

  • 对象
    概念:是一个抽象概念,世间万物皆对象
    分类:静态部分和动态部分

  • 类是封装对象的属性和行为的载体,反过来说,具有相同属性和行为的一律实体被称为类

二.面向对象程序设计的特点

  • 封装:是面向对象的核心思想,将对象的属性和行为封装起来,其载体就是类


    面向对象编程(一)_第1张图片
    image.png
  • 继承:继承是实现重复利用的重要手段,子类通过继承,复用父类属性和行为的同时又添加了子类特有的属性和行为。


    面向对象编程(一)_第2张图片
    image.png
  • 多态:将父类对象应用于子类的特征就是多态

三.类之间的关系

1..纵向关系:比较清晰

  • 继承:父子关系 : extends
  • 实现:类对接口的实现: implements

2.横向关系:取决于语义

  • 依赖
    地位:双方的地位往往是独立平等的;
    程度:是偶尔的、临时性的、不频繁的;
    代码层面的表现形式而言,往往是局部的变量;
    eg:人与自行车。

  • 关联
    地位:双方的地位往往是独立的、平等的;
    程度:是长期的、稳定的、频繁的;
    代码层面的表现形式而言,关联往往以全局属性的形式存在;
    类与类之间的联接,它使一个类知道另一个类的属性和方法。
    eg:程序员和电脑。
    package com.soft1841.oop.week1;
    public class Person {
    Department dep;
    }

  • 聚合
    地位:双方的地位不是平等的,是整体和部分之间的关系;
    程度:是长期的、稳定的、频繁的,整体和部分都有自己的生命周期,一方的消失另外一方不会跟着消失;
    eg:班级与学生

  • 组合
    地位:双方的地位不是平等的,是整体和部分之间的关系;
    程度:部分的生命周期取决于整体,部分随着整体的消失而消失;
    注:区分是聚合还是组合的核心点是在生命周期
    eg:人与人的器官
    package com.soft1841.oop.week1;
    public class Person {
    Header header;
    Hander hander;
    Heart heart;
    }

你可能感兴趣的:(面向对象编程(一))