当前位置: 首页 > news >正文

网站服务器租用和自己搭建的区别深圳在线招聘最新消息

网站服务器租用和自己搭建的区别,深圳在线招聘最新消息,南川网站建设公司,天津网站建设设计费用目录 0 引言1 抽象类2 接口2.1 Java与C接口的区别 #x1f64b;‍♂️ 作者#xff1a;海码007#x1f4dc; 专栏#xff1a;C专栏#x1f4a5; 标题#xff1a;C 抽象类和接口 详解❣️ 寄语#xff1a;书到用时方恨少#xff0c;事非经过不知难#xff01;#x1f… 目录 0 引言1 抽象类2 接口2.1 Java与C接口的区别 ‍♂️ 作者海码007 专栏C专栏 标题C 抽象类和接口 详解❣️ 寄语书到用时方恨少事非经过不知难 最后文章作者技术和水平有限如果文中出现错误希望大家能指正 0 引言 随着编程的深入总是会听到不少抽象类接口等词汇。但是其实很多有都在混淆概念甚至是乱用这些定义。接下来就和我一起探讨一下C中的抽象类和接口的区别以及拓展一下 C 和 Java 的区别。 1 抽象类 在C中抽象类Abstract Class是包含至少一个纯虚函数的类。抽象类不能被实例化只能被用作其他类的基类。纯虚函数是一种在基类中声明但没有提供实际实现的虚函数它的存在要求任何继承自这个基类的派生类都必须提供实际的实现如果不实现那基类仍然是抽象类。这样的设计允许抽象类提供一个接口而具体的实现则由派生类完成。 在C中定义一个抽象类的典型方式如下 class AbstractClass { public:// 纯虚函数使得AbstractClass成为抽象类virtual void pureVirtualFunction() 0;// 虚析构函数防止派生类析构时不调用派生类的析构函数virtual ~AbstractClass() {}// 普通成员函数void concreteFunction() {// 可以包含具体实现// 但通常抽象类中也包含一些纯虚函数以强制派生类提供实现}// 普通成员变量int data; };在这个例子中pureVirtualFunction是一个纯虚函数因此AbstractClass就成为了抽象类。由于抽象类不能被实例化你不能创建AbstractClass的对象。它主要用于作为其他类的基类要求派生类必须提供纯虚函数的实际实现。 具体的派生类可以这样实现 class ConcreteClass : public AbstractClass { public:// 实现纯虚函数void pureVirtualFunction() override {// 具体的实现} };注意在派生类中必须提供对抽象类中纯虚函数的实现否则派生类也会变成抽象类无法被实例化。 2 接口 在C中接口就是一种特殊的抽象类接口中只包括纯虚函数。 在C中与一些其他编程语言如Java和C#不同C没有显式的接口关键字。然而C中可以通过抽象类和纯虚函数来实现接口的概念。 在C中接口通常是通过抽象类来定义的该抽象类包含纯虚函数没有实现而派生类则负责提供这些纯虚函数的具体实现。这种方式类似于其他语言中的接口定义。 下面是一个使用抽象类和纯虚函数实现接口的简单示例 #include iostream// 定义接口抽象类 class Interface { public:// 纯虚函数相当于接口中的方法声明virtual void doSomething() 0; };// 不能在接口中包含普通成员函数 // 下面的代码会导致编译错误 /* class Interface { public:virtual void doSomething() 0;void commonFunction() {std::cout Common function in Interface. std::endl;} }; */// 实现接口的具体类 class ConcreteClass : public Interface { public:// 提供接口中纯虚函数的具体实现void doSomething() override {std::cout Doing something in ConcreteClass. std::endl;} };int main() {// 通过接口指针调用实现类的方法Interface* obj new ConcreteClass();obj-doSomething();delete obj;return 0; }2.1 Java与C接口的区别 Java和C在接口interface方面存在一些显著的区别。了解这些区别对于使用这两种语言进行编程是很重要的。以下是主要的区别点 定义和用途: Java接口Java中的接口是一个完全抽象的类只能包含抽象方法和常量。接口用于声明一组方法然后由其他类实现。Java接口是实现多继承的一种方式。C接口C没有内置的接口关键字但可以通过创建纯虚函数pure virtual functions的抽象类来模拟接口。这些类不能被实例化只能被其他类继承。 实现方法: Java在Java中类可以实现多个接口。使用interface关键字来实现接口并且必须实现接口中的所有方法。CC中的类通过继承抽象类来实现接口并且必须实现所有的纯虚函数。C支持多重继承因此一个类可以继承多个抽象类。 默认方法: Java从Java 8开始接口可以包含默认方法default methods。这些方法不是抽象的可以有自己的实现。这允许在不影响实现该接口的类的情况下添加新功能。CC的抽象类可以包含已经实现的成员函数这在某种程度上类似于Java的默认方法。 属性: JavaJava接口中可以声明常量但不能包含实例字段。所有定义在接口中的变量默认都是public static final的。CC中的抽象类可以包含成员变量和常量。 多重继承和菱形问题Diamond Problem: Java由于Java不支持从多个类继承因此使用接口来实现多重继承。Java接口不会导致菱形问题因为它们不具备实现继承。CC支持从多个类继承但这可能导致菱形问题。当两个父类都继承自同一个祖先类时子类可能会从每个父类继承相同的祖先类的两个副本。 这些差异反映了Java和C设计哲学的不同Java更注重简洁和安全而C提供了更高的灵活性和控制权但也带来了更复杂的语言特性和潜在的错误风险。 // 定义一个接口 interface Vehicle {void drive();int getNumberOfWheels(); }// 一个类实现接口 class Car implements Vehicle {public void drive() {// 实现drive方法的具体逻辑}public int getNumberOfWheels() {// 返回轮子数量return 4;} }
http://www.hkea.cn/news/14547750/

相关文章:

  • 最简单的电子商务网站建设代码正规的郑州网站建设
  • 网站建设 安庆vue2.0网站开发
  • 烟台网站制作企业手机端网站制作教程
  • 织梦网站首页内容佛山做网站公司有哪些
  • 淮南电商网站建设360搜索引擎优化
  • 什么是网站什么是网页福州seo经理招聘
  • 做网站都需要什么一家专门做印刷的网站
  • 中山哪家建网站好网页设计模板html代码手机版
  • 银川市住房城乡建设局网站常州建设网站公司哪家好
  • 电商网站建设定制网站域名使用期
  • 郑州 网站建设主营 网站建设 app开发
  • 用开源源码做淘宝客网站做擦边网站
  • 网站国际网络备案号简单的小程序开发
  • 网站自动seo网站案例分析
  • 网站推广策略含义百度快速提交入口
  • 搭建专业网站服务器门户网站设计思路
  • 网站设计文档模板锦州网站建设推广
  • 软件下载网站开发 论文遵义网站建设公司排名
  • 色系网站.天津百度推广开户
  • 怎么创建公司网站空间wordpress直达链接
  • 烟台专业网站建设服装电子商务网站建设过程与实现
  • 查找网站后台入口德州网站建设费用
  • 深圳网站建设好门户网站建设工作制度建立情况
  • 网站建设的推进方案可以进入任何网站的浏览器
  • 海南app网站建设全球最大设计网站
  • 网站后台传照片 c windows temp 拒绝访问代做百度关键词排名
  • 互联网企业网站模板优惠券精选网站怎么做
  • 互联国际网站国外html响应式网站模板下载
  • 国外免费做网站软件快速搭建网站模板
  • 兰州做网站开发wordpress主题无法创建目录