如何设计一个结合Node.js与WordPress的高效网站地图页面?

摘要:网站地图页面设计,nodejs和wordpress,教师招聘网站长城建设集团,怎样进行关键词推广面向过程和面向对象的初步认识类的引入类的定义类的访问限定符封装类的作用域类的实例化类对象模型this指针C语言和C实现Stack的对比面向过程和
网站地图页面设计,nodejs和wordpress,教师招聘网站长城建设集团,怎样进行关键词推广面向过程和面向对象的初步认识类的引入类的定义类的访问限定符封装类的作用域类的实例化类对象模型this指针C语言和C实现Stack的对比面向过程和面向对象的初步认识 C语言是面向过程的#xff0c;关注的是过程#xff0c;分析出求解问题的步骤#xff0c;通过函数调用逐步解…面向过程和面向对象的初步认识类的引入类的定义类的访问限定符封装类的作用域类的实例化类对象模型this指针C语言和C实现Stack的对比面向过程和面向对象的初步认识 C语言是面向过程的关注的是过程分析出求解问题的步骤通过函数调用逐步解决问题。C是基于面向对象的关注的是对象将一件事情拆分成不同的对象靠对象之间的交互完成。 例如五子棋面向过程的设计思路就是首先分析问题的步骤1、开始游戏2、黑子先走3、绘制画面4、判断输赢5、轮到白子6、绘制画面7、判断输赢8、返回步骤29、输出最后结果。把上面每个步骤用分别的函数来实现问题就解决了。 而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为 1、黑白双方这两方的行为是一模一样的2、棋盘系统负责绘制画面3、规则系统负责判定诸如犯规、输赢等。第一类对象玩家对象负责接受用户输入并告知第二类对象棋盘对象棋子布局的变化棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化同时利用第三类对象规则系统来对棋局进行判定。可以明显地看出面向对象是以功能来划分问题而不是步骤。 所以面向对象要比面向过程更方便操作更不容易出差错。 类的引入 C语言结构体中只能定义变量在C中结构体内不仅可以定义变量也可以定义函数。比如用C语言方式实现的栈 使用顺序表的结构结构体中只能定义变量现在以C方式实现会发现struct中也可以定义函数。C是从C语言发展来的它是需要兼容C语言的 typedef int DataType; struct Stack {//初始化void Init(size_t capacity){_array (DataType*)malloc(sizeof(DataType) * capacity);if (nullptr _array){perror(malloc申请空间失败);return;}_capacity capacity;_size 0;}//入栈void Push(const DataType data){// 此处省去了检查是否需要扩容的代码_array[_size] data;_size;}//出栈DataType Top(){return _array[_size - 1];}//销毁void Destroy(){if (_array){free(_array);_array nullptr;_capacity 0;_size 0;}}DataType* _array;size_t _capacity;size_t _size;};但上面结构体的定义在C中更喜欢用class来代替。 类的定义 class className { // 类体由成员函数和成员变量组成 }; // 一定要注意后面的分号class为定义类的关键字ClassName为类的名字{}中为类的主体注意类定义结束时后面分号不能省略。 类体中内容称为类的成员类中的变量称为类的属性或成员变量; 类中的函数称为类的方法或者成员函数。 类的两种定义方式 声明和定义全部放在类体中需注意成员函数如果在类中定义编译器可能会将其当成内联函数处理。 类声明放在.h文件中成员函数定义放在.cpp文件中注意成员函数名前需要加类名:: 表明该函数是属于哪个类的。 一般情况下更期望采用第二种方式。 成员变量命名规则的建议 // 我们看看这个函数是不是很僵硬 class Date { public:void Init(int year){// 这里的year到底是成员变量还是函数形参year year;} private:int year; };// 所以我们可以在类成员变量名前加上_来进行区分当然具体加啥可以根据需要来定。 class Date { public:void Init(int year){_year year;} private:int _year; };类的访问限定符 C实现封装的方式用类将对象的属性与方法结合在一块让对象更加完善通过访问权限选择性的将其接口提供给外部的用户使用。
阅读全文