美文网首页
面向对象第一篇

面向对象第一篇

作者: 陶然然_niit | 来源:发表于2018-11-19 15:53 被阅读0次

    1.封装

    • 属性私有
    • 对外提供公有的getter/setter
    • Fruit的例子
    package com.soft1841.week7;
    
    /**
     * 水果类
     */
    public class Fruit {
        //名称
        public String fruitName;
        //价格
        private double fruitPrice;
        //产地
        protected String origin;
    
    
        public double getFruitPrice() {
            return fruitPrice;
        }
    
        public void setFruitPrice(double fruitPrice) {
            this.fruitPrice = fruitPrice;
        }
    }
    
    
    package com.soft1841.week7;
    
    public class FruitApp {
        public static void main(String[] args) {
            Fruit fruit = new Fruit();
            fruit.fruitName = "苹果";
            System.out.println(fruit.fruitName);
            fruit.setFruitPrice(8.8);
            System.out.println(fruit.getFruitPrice());
            fruit.origin = "山东烟台";
            System.out.println(fruit.origin);
        }
    }
    
    

    2.类之间的关系

    • 纵向关系:比较清晰

      • 继承:父子关系——extends
      • 实现:类对接口的实现——implements
    • 横向关系:取决于语义

      • 依赖
        • 双方的地位往往是独立平等的(地位)
        • 是偶尔的、临时性的、不频繁的(依赖程度)
        • 代码层面的表现形式而言,往往是局部的变量
          • 类B以参数的形式传入类A的方法。
          • 类B以局部变量的形式存在于类A的方法中。
          • 类A调用类B的静态方法。
        • 员工和游轮
      • 关联
        • 双方的地位往往是独立的、平等的(地位)
        • 是长期的、稳定的、频繁的(依赖程度)
        • 代码层面的表现形式而言,关联往往以全局属性的形式存在
        • 员工和手机
      • 聚合
        • 双方的地位不是平等的,是整体和部分之间的关系(地位)
        • 是长期的、稳定的、频繁的,这种关系比关联更强,以至于在形式上出现了整体和部分之间的关系。整体和部分都有自己的生命周期,一方的消失另外一方不会跟着消失。(依赖程度)
        • 代码层面的表现形式而言可参考关联
        • 公司和员工
      • 组合
        • 双方的地位不是平等的,是整体和部分之间的关系(地位)
        • 比聚合更强,部分的生命周期取决于整体,部分随着整体的消失而消失(依赖程度)
        • 代码层面的表现形式而言可参考关联
        • 区分是聚合还是组合的核心点是在生命周期
        • 公司和部门
    • 参考文章:点这里

    相关文章

      网友评论

          本文标题:面向对象第一篇

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