学习日记 - OOP - 01

学习日记 - OOP - 01


关于Java, 关于OOP。

没有系统学习过OOP Programming, 一直搞不清楚interface的用法和意义。编程水平主要停留在python,R等函数性编写,调用,一看大型程序就蒙B。

看的每一本教材都能理解,接口(interface)就是通用的使用规则,比如遥控器,运输工具(可以是汽车,火车),etc。。

可是由于没有项目经验,还是不得其所。

自己编写了最简单的一个实现。。请问,如果只是声明的特殊性(用interface来声明),我在项目里用类名来声明又有何不妥?无非是vechicle替换成了car。该call的方法还是固定的方法名。好像也行?

列举一下我目前理解存在的问题:

  1. Interface到底在项目里体现了什么作用?除了compile-time里的check;怎么理解对后人工作的帮助?
  2. 拿Interface名来声明变量有什么好处?
  3. 怎么叫重新定义interface?那样不是interface和类方法要一起变,也很麻烦?

看了这个帖子的回答,感觉解释了我的主要困惑:https://www.iteye.com/topic/1120032?page=3

给业务系统写的接口(给客户用),和给框架系统写的接口(给程序员用),意义是不一样的。接着引发了我的新的问题:

当我们说,A公司提供了接口(比如一个数据库的jbdc接口),实际上(编程里)我们得到了什么?难道就是一个声明类type的权利?


interface vechicle {
    public void start();
}

interface mediaplayer {
    public void playMusic();
}

class car implements vechicle,mediaplayer {
    public void start(){
        System.out.println("starting my car...");
    }
    public void playMusic(){
        System.out.println("playing music...");
    }
}

public class Main {

    public static void main(String[] args) {

        vechicle v1 = new car();
        v1.start();
        ((mediaplayer) v1).playMusic();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值