关于类和接口

这篇具有很好参考价值的文章主要介绍了关于类和接口。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

类和接口的区别,去除语法层面,谈谈编程层面的意义。

设计原则SOLID:

S:单一职责(SRP),Single Responsibility Principle

O:开-闭原则(OCP),Open-Closed Principle

L:里氏替换(LSP),Liskov Substitution Principle

I: 接口隔离(ISP),Interface Segregation Principle

D:依赖倒置(DIP),Dependency Inversion Principle

 关于设计模式,经常会说面向接口编程,而面向接口编程,对应的是哪一个原则呢?

关于里氏替换和依赖倒置,应该是属于同一种编程技巧的两种表现形式。

如果要实现里氏替换,那边必须是依赖倒置的,如果遵循了依赖倒置,那么也实现了里氏替换原则

看一下JDBC的代码:

public class DriverManager {


    //  Worker method called by the public getConnection() methods.
    private static Connection getConnection(
        String url, java.util.Properties info, Class<?> caller) throws SQLException {


       Connection con = aDriver.driver.connect(url, info);

       return (con);

    }
}

public interface Driver {

    Connection connect(String url, java.util.Properties info)
        throws SQLException;

}

public interface Connection  extends Wrapper, AutoCloseable {


}

驱动管理类,获取连接的方法,就是依赖倒置原则的实现,面向的接口编程,依赖抽象。

抛开具体的设计模式,在看不同框架的源码时,一般他们都是遵循了面向接口编程的,也就是依赖倒置。在变量类型、方法返回类型、入参类型都是接口或者抽象类,这样就实现了依赖倒置,也就是依赖接口。 这样做的优点,就是可以有不同的实现类型,而不用改动高层次的逻辑。

再谈谈类和接口在编程中存在的意义,接口或者抽象类,可以用来定义目标、方向,属于高层次的;面向对象的继承和多态,完成了将目标、方向转化为行动,而行动就是具体的实现类。目标只有一个,而行动可以有很多。这也许就是类和接口存在的意义吧。

然而,在工作中需要根据具体的需求进行开发,也不用过度使用设计模式,为了使用而使用,需要自己把握。文章来源地址https://www.toymoban.com/news/detail-687879.html

到了这里,关于关于类和接口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java】抽象类和接口

    在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的, 如果一个类中没有包含足够的信息来描绘一个具体的对象,那么这样的类就是抽象类 在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法

    2024年02月05日
    浏览(47)
  • Java抽象类和接口【超详细】

    在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的, 如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类 。 比如: 在打印图形例子中, 我们发现, 父类 Shape 中的 draw 方法好像并没有什么实际

    2024年02月14日
    浏览(50)
  • Java中抽象类和接口的区别

    定义上来看,被abstract修饰的类称为抽象类。被abstract修饰的方法称为抽象方法。当父类的某些方法,需要声明,但是又不确定如何实现时,可以将其声明为抽象方法,那么这个类就是抽象类.例: 特征: 抽象类不可以实例化,可以被继承,可以看作是对类的进一

    2024年02月16日
    浏览(41)
  • Java中抽象类和接口的区别?

    抽象类是对具体概念的抽象 抽象类本质是为了继承 只能被public或默认修饰 行为层面抽象出来抽象方法 抽象类的注意事项 抽象类不可以被直接实例化 抽象类中可以存在构造方法 抽象类可以存在普通方法 抽象方法的注意 抽象方法必须定义在抽象类中 仅声明 实现需要交给子

    2023年04月26日
    浏览(85)
  • Java抽象类和接口的详细区别(全)

    这两者经常在笔试以及面试中经常问及,甚至在项目实战中还在纠结用哪一种类型 今天就此问题详细剖析一下 以往我的文章中也有稍微提及: java框架零基础从入门到精通的学习路线(超全) 此处将其这些文章抽离公共部分,详细总结下这两概念 抽象类是类和类之间的共同

    2024年02月08日
    浏览(42)
  • 关于TC264单片机与智能车摄像头循迹的一些学习心得

    前言:最近一段时间在准备智能车考核,其中要求使用TC264单片机实现PID控制的小车摄像头循迹。其中关于PID的部分在之前我已经上传过了,这篇文章主要讲怎么实现循迹与舵机的位置式PID调参和电机的增量式调参的一些心得。 一、摄像头循迹的实现 首先我们要明白英飞凌公

    2024年02月04日
    浏览(43)
  • 【Java SE语法篇】9.抽象类和接口

    📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 在面向对象的概念中,所有的对象都是通过类来描绘的,但是放过来,并不是所有的类都是用来描绘对象的, 如果一个类中没有包含足够的

    2024年01月19日
    浏览(52)
  • 前端学习心得笔记之一(HTML篇)

    对于python爬虫、数据分析等等一些实用技能的学习,小编思考良久,觉得前端知识的学习无比重要。就先去学习HTML的基础知识,希望可以帮到读者学习和了解HTML。 一个网页由哪些部分组成(网页标准)? (一)、结构:HTML (二)、表现:CSS  了解HTM (三)、行为:JavaS

    2024年02月22日
    浏览(50)
  • 前端学习心得笔记之三(JavaScript篇)

    JavaScript一种运行在客户端(浏览器)上的解释性弱语言,是前端的重中之重,在计算机刚刚兴起的那个时代,这个由十天仓促编成的语言发展到现在也是令人吹嘘。 文件引用 在一个单独的js文件中也可以编写JavaScript代码,然后在HTML文件使用script标签进行引用以下为演示 m

    2024年04月23日
    浏览(49)
  • 图灵日记之java奇妙历险记--抽象类和接口

    在面向对象的概念中,所有对象都是通过类来描述的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息描绘一个具体的对象,这样的类就是抽象类 使用abstract修饰的方法称为抽象方法 使用abstract修饰的类称为抽象类 抽象类是不可以进行实例化的

    2024年02月03日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包