软件开发方法:复用与扩展

软件开发方法:复用与扩展

一、面向对象

封装 工程上的意义:屏蔽细节,隔离变化 public、protected、private

继承 工程上的意义:复用

多态工程上的意义:高内聚,低耦合 ------ 面向对象核心

二、进一步认识

  • 遵循已有框架规则,搭建程序,学习框架使用
  • 遵循框架提供的接口和调用规则
  • 扩展别人的功能
cpp 复制代码
#include "QtWidgetsApplication.h"
#include <QtWidgets/QApplication>
#include <QLabel>
#include "stdlib.h"

class NewLabel :public QLabel {
public:
  NewLabel(QString str) :QLabel(str) {

  }
  void runCommand() {
	system("notepad");
  }
};

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

	NewLabel label("a");
	label.show();
	label.runCommand();

    return a.exec();
}

上面是对Qt中QLabel扩展的举例


推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/VsFMs

相关推荐
啊啊啊啊啊!!!!12 小时前
【c++】stack和queue的接口使用以及底层实现
开发语言·c++
上海安当技术14 小时前
C/S 桌面软件怎么接 UKey 强认证?C# SDK 与 C 动态库集成 WinForms/Qt/工控实战
c语言·qt·c#
(Charon)15 小时前
【C++】锁与原子操作(四):自旋锁的完整实现与性能优化
c语言·开发语言·c++
雨田言炎15 小时前
五、Qt控件使用说明大全
开发语言·qt
ShineWinsu16 小时前
对于Linux:五种IO模型以及非阻塞IO的详细解析
linux·c++·面试·io·阻塞·非阻塞·fcntl
呜喵王阿尔萨斯17 小时前
extern “C“ in C++
c语言·c++·算法
乐观勇敢坚强的老彭17 小时前
C++信奥静态数组和动态数组
数据结构·c++·算法
熬夜苦读学习17 小时前
Qt--界面优化
开发语言·qt
gumichef17 小时前
第一章:面向对象核心——类和对象深度讲解
开发语言·c++
ao-weilai17 小时前
C++基础:类和对象
开发语言·c++