asp网站优化访问速度,做网站制作要多少费用,黄页88官网,女的可以学做网站大家好啊#xff0c;这里是c之旅第三弹#xff0c;跟随我的步伐来开始这一篇的学习吧#xff01;
如果有知识性错误#xff0c;欢迎各位指正#xff01;#xff01;一起加油#xff01;#xff01;
创作不易#xff0c;希望大家多多支持哦#xff01; 本篇文章的主…大家好啊这里是c之旅第三弹跟随我的步伐来开始这一篇的学习吧
如果有知识性错误欢迎各位指正一起加油
创作不易希望大家多多支持哦 本篇文章的主要内容有学习C语言面向过程C面向对象以及类和对象的使用
一面向过程
1.c语言编程就是一个面向过程的编程。它遵循一个“从上往下”的过程式程序设计方式
2.用面向过程的方式解决问题的思路
首先提出问题分析问题的处理流程将大问题分解成小问题如果小问题比较复杂那么就继续的分解为更小的问题然后解决这些一个一个的小问题来解决大问题最后解决所有的问题做好这一步做下一步直到做完所有。
面向过程强调的是功能行为以函数为最小单位考虑怎么做
3.优缺点
1优点
、程序结构简单
、把问题拆分进而实现简单化
、使我们对整个逻辑结构清楚明了
2缺点
、数据和操作往往是分离的
、数据不具有封装性由于数据是公开的若有其他人因失误改自己的数据的话会影响自己的进展
、多人协作开发时不清楚别人的逻辑导致只能一个一个按顺序做无法实现同时开展工作不利于多人协作开发
二面向对象
1.面向对象的概念
面向对象是相对于面向过程而言的。面向对象的程序设计是面向过程的继承和发展程序对现实世界的抽象和描述它认为现实世界是由对象组成的无论大小万物皆对象。
对象在程序中抽象为两个部分① 描述对象的状态或者属性的数据变量② 描述对象的行为或者功能的方法函数
2.用面向对象的方式解决问题的思路
1、根据问题的需要选择问题所对应现实世界中的实体
2、从实体中找到解决问题的相关的属性和功能这些属性和功能就形成了概念中的类
3、把概念中的类用计算机语言进行描述形成计算机世界中类的定义也就是使用某种编程语言实现该类
4 、通过该类创建对象来解决问题
3.面向对象的特点
1、封装性将数据和行为结合在一起共同来表达一个数据可以使各个对象模块相对分离更有利于代码的维护和修改
2、继承可以使代码的扩展性好有利于后期基于前期代码的扩展功能即支持代码重用
3、多态实现同一个东西在不同情况下实现不同操作
4、“高内聚、低耦合”各模块相对分离可以通过上一层来进行各模块间的连接或者用一个连接各模块的模块来实现模块间的连接
三类
1.类的介绍
类是一种用户自定义数据类型可以看作是 C 语言中结构体的升级版。类是由数据加功能构成的也就是把变量和函数绑定在一起
2.定义方式和结构体类似
class类名
{
访问属性:
类中成员可以定义变量或函数
};
通过类定义的变量我们称之为对象
3.如何进行类的定义
1、考虑类的目的
2、考虑类的属性和方法
3、考虑属性和方法的访问权限
4 、考虑类之间的关系和依赖
4.类的成员的访问属性
1、访问属性关键字
public公有属性
protected保护属性
private私有属性
2、属性解释
公有属性类外和类中都可以被直接访问类外通过对象访问
保护属性类中及派生类中可以被直接访问 , 类外需要通过对象调用接口实际上就是公有属性的函数访问
私有属性只有在类中才能被访问 , 类外需要通过对象调用接口访问
类中从有属性开始到下一个属性开始若无下一个访问属性就是到结尾处都是上一个属性的控制范围其中属性设置的个数是不限的只不过不可以设置在成员函数里面
5.类中成员访问以下示例是访问公有属性下的函数所以不会报错如果是直接这样访问里面私有属性的变量数据则会报错)
1、类对象通过“ .”访问成员
student stu;
stu.fun();
2、类指针通过“-”访问成员
student *pnew student;
p-fun();
6.c中结构体和类的区别
1、结构体的默认访问属性是公有类是私有。
2、类中能写的结构体里也能写
3、结构体一般用于定义数据这样的类型比如矩阵之类的里面一般不定义函数而类则一般用于定义实体类型有数据也有相应操作函数
四实际运用时对类的使用
1.一般将类定义在头文件中该头文件中一般写有类总体类里面定义的变量以及函数的声明函数的定义写在同名的源文件中
使用这种函数定义和声明在不同文件中时记得要写明类名在函数名前相当于命名空间类似的操作
分文件操作举例
people.h头文件中的内容
#pragma onceclass CPeople{int x, y;public:void setPoint(int px, int py);int getX()//直接返回这种简单函数就不必分文件编写了{return x;}int getY()//直接返回这种简单函数就不必分文件编写了{return y;}};
同名源文件中的内容
#include people.h//上面头文件叫people.hvoid CPeople::setPoint(int px, int py){x px;y py;}
2.#pragma once写在头文件开头用于表示该头文件只引用一次c写法C语言中用#ifndef来只导一次
3.程序运行的过程
使用了分文件编写了那么现在来了解一下程序在包含头文件时的执行过程
1先是预处理宏替换和引用头文件引用头文件的目的是包含头文件中的内容使头文件和源文件一起进行编译过程头文件都是伴随着源文件来进行编译的而不是独立编译
2编译生成.obj二进制目标文件是源文件生成的头文件不会生成头文件对应的定义函数的源文件也是可以生成的因为.obj文件有大小头文件里面是类类型的定义和函数的声明是没有大小的所以不可以生成有内存的文件
3链接将.obj文件分区块进行拷贝拷贝至一起链接形成一个.exe可执行文件