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

门户网站开发 价格wordpress安装地图代码

门户网站开发 价格,wordpress安装地图代码,wordpress 电子书,郑州营销网站PLOOC-裸机思维 PLOOC-git OOPC精要——撩开“对象”的神秘面纱 C/C面向对象编程之封装-KK 面向过程,本质是“顺序,循环,分支”面向对象,本质是“继承,封装,多态”参考的书籍:《UMLOOPC嵌入式…

PLOOC-裸机思维

PLOOC-git
OOPC精要——撩开“对象”的神秘面纱
C/C++面向对象编程之封装-KK

  • 面向过程,本质是“顺序,循环,分支”
  • 面向对象,本质是“继承,封装,多态”
  • 参考的书籍:《UML+OOPC嵌入式C语言开发精讲》

其他相关

SimonQian
VSF
GMSI
裸机思维
傻孩子
simple_fsm

其他相关

LW-OOPC(高焕堂(台湾))

如何使用

参考 LW_OOPC宏配置及使用指南.md

是如何面向对象的?

在这里插入图片描述

继承-通过 结构体嵌套 模拟继承

基类成员放在子类结构体的开头,保证内存布局兼容。
子类可以访问基类成员,并扩展新的成员。

封装-结构体(struct)封装数据成员,并利用函数指针(function pointers)模拟方法

在这里插入图片描述
在这里插入图片描述
缺点是所有的成员和方法都是暴露的;

多态:通过统一的接口访问不同底层实现的能力

虚函数表(VTable):模拟 C++ 的虚函数机制
接口抽象:通过结构体指针实现接口的多态调用
方法重写:子类重新定义父类的虚函数

需要解决:如何在运行时决定调用哪个具体函数?

在这里插入图片描述

缺点

在这里插入图片描述

接口类(Interface)、抽象类(Abstract Class)和具体类(Concrete Class) 是三种不同的类类型

在这里插入图片描述
在这里插入图片描述

接口类(Interface)

特点:
纯抽象:只包含 抽象方法(无具体实现),不能有成员变量(C++/Java)或可以有静态常量(Java)。
多继承支持:一个类可以实现多个接口(弥补单继承的不足)。
强调行为契约:定义“能做什么”,不关心“如何做”。
无构造函数:不能被实例化

抽象类(Abstract Class)

特点:
部分抽象:可以包含 抽象方法(无实现)和 具体方法(有实现)。
可以有成员变量:普通字段或常量。
单继承限制:一个类只能继承一个抽象类。
不能实例化(没有new方法):必须由子类继承并实现抽象方法后使用。

具体类(Concrete Class)

特点:
完全实现:所有方法都有具体实现(无抽象方法)。
可直接实例化:通过 new 创建对象。
可继承抽象类或实现接口:必须实现所有继承的抽象方法。
在这里插入图片描述

比较

在这里插入图片描述

为什么需要FUNCTION_SETTING

实现了该类的创建、方法的动态绑定
在这里插入图片描述

作用是动态绑定方法到类的函数指针,而不是直接调用已实现的函数。这样做的主要目的是为了实现 多态(Polymorphism) 和 运行时方法绑定,从而让代码更加灵活、可扩展。
FUNCTION_SETTING 的作用是 把函数指针绑定到类的虚方法表(vtable),使得在运行时可以根据对象类型动态调用正确的方法。

使用动态的绑定,提供了修改父类方法的地方,

针对父类的方法,其参数还是父类的参数,Animal* t

在这里插入图片描述
子类的方法用了子类的参数
在这里插入图片描述

子类->父类

在这里插入图片描述

父类->子类

在这里插入图片描述

如果 Dog_move(接口方法)需要访问 Dog 类的成员变量

使用 SUB_PTR宏反向转换:
由于 Dog 实现了 IMoveable,可以通过结构体内存布局的偏移量,从 IMoveable* 转回 Dog*

/* Dog 的移动行为(需要访问 Dog 的成员变量) */
void Dog_move(IMoveable* t) {// 将 IMoveable* 转为 Dog*Dog* dog= SUB_PTR(t, Animal, Dog);// 现在可以访问 Dog 的成员变量Animal* animal = SUPER_PTR(dog, Animal);printf("狗[%s]在地上跑,年龄%d岁!\n", animal->name, animal->age);
}

在这里插入图片描述

内存泄漏(Memory Leak)

通常指由于面向对象编程模式在 C 语言中的特殊实现方式(如动态内存分配、对象生命周期管理不当)导致的内存未能正确释放的问题。

其他相关

金永华
Akagi201
Akagi201博客
关于-LW_OOPC学习01

基本概念回顾

抽象类Vs接口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


文章转载自:

http://xGDgeX6X.mLnby.cn
http://ixWuk9Yq.mLnby.cn
http://kYX9LLKL.mLnby.cn
http://9P91oy08.mLnby.cn
http://bjaMks24.mLnby.cn
http://LogG4jwq.mLnby.cn
http://qxxvTWcn.mLnby.cn
http://D4aSstDg.mLnby.cn
http://H9DwYsx4.mLnby.cn
http://IB4Q8538.mLnby.cn
http://gbBRVBpb.mLnby.cn
http://NPMl1OHu.mLnby.cn
http://MQJkUerJ.mLnby.cn
http://HBeIsvPM.mLnby.cn
http://okTcKCnA.mLnby.cn
http://133IpFpk.mLnby.cn
http://p0448ZLd.mLnby.cn
http://p7ME7fmv.mLnby.cn
http://9rHHgruJ.mLnby.cn
http://oLDK8pBW.mLnby.cn
http://YuQXWOY1.mLnby.cn
http://ysqlFmQB.mLnby.cn
http://bboqft5X.mLnby.cn
http://n0R7gu06.mLnby.cn
http://s8vAJbcI.mLnby.cn
http://PCXgWdk0.mLnby.cn
http://nlHqPfHN.mLnby.cn
http://ByjadnZ6.mLnby.cn
http://8nqohEdn.mLnby.cn
http://pHJhXrn9.mLnby.cn
http://www.dtcms.com/wzjs/610743.html

相关文章:

  • 如何提升网站用户体验wordpress用什么服务器配置
  • 国内外知名提供邮箱服务的网站做视频网站 视频放在哪里
  • 苏州市建设局网站集群统一登录做 理财网站
  • 自己做网站怎么修改语言python php 网站开发
  • 营销型网站公司长治网站制作怎么做
  • 网站seo 优化织梦 更换网站图标
  • 合合肥网站建设广州口碑好的网站建设设计
  • 怎么做网页会议邀请函深圳网站seo推广
  • 天津市网站建站制作郑州商城网站开发
  • 微信人生里面微网站怎么做广东东莞新增本土确诊0例
  • 四川住房城乡建设厅官方网站动画设计招聘信息
  • 北京市优化网站中小企业网站建设市场
  • 浙江省建设行政主管部门网站手机网页及网站设计
  • 开发商城网站公司无锡网站建设专注千客云网络
  • 预约网站模板德阳小程序开发
  • 动漫设计师发展前景嘉峪关网站seo
  • 二手交易平台 网站开发施工企业的描述
  • 中国商业网点建设开发中心官方网站深圳企业贷款中介
  • 做嗳啪啪 网站如何做好网络宣传工作
  • 网站怎么做市场分析什么是网络营销产生的现实基础
  • 航空网站建设未满18岁能申请网站备案吗
  • 医生可以自己做网站吗深圳罗湖企业网站建设
  • 茌平建设局网站网页设计作业成品免费百度云
  • 天津公司网站设计模块建站平台
  • 图片展示网站织梦源码上海室内设计公司排名前十强
  • 个人网站建设论文绪论网站设置301重定向
  • 网站建设市场多大鲜花网站建设解决方案
  • SaaS网站可以做seo嘛wordpress转html
  • 品牌网站设计工作室佘山做网站公司
  • 竞价网站做不做链接网站设计建设公司联系方式