类和对象的基本概念
类实质上是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例。
类的定义
c++中把具有相同属性和行为的对象看成是同一类。比如两个公司员工小张,小李是两个不同的对象,他们有共有的属性比如,工号、工资等,也有相同的行为如工作内容,他们都属于“员工”类。
类其实就是有关函数和数据的集合,它提供所需要的资源。在使用一个类之前必须先定义类,包含成员函数和成员变量。
类的语法格式
class 类名{public: 公有型数据和函数;protected: 保护型数据和函数;private: 私有型数据和函数;};
其中class是关键字,class后面跟上要定义的类名,类中包含成员变量和成员函数。public、protected、private是访问权限。
对象的创建和使用
c++程序中,类是一种复杂的构造数据类型,可以用来定义变量,这个变量称为具有类属性的对象,是类的一个实例。类是程序设计的核心,对象是程序的实体。
创建对象
只要定义了类,就可以创建对象。创建对象的语法如下:
class p1, p2;
类是抽象的,不占用内存,只有在定义了类的对象后,系统才会给对象分配相应的内存空间。
访问对象成员
访问对象成员的方式有圆点访问形式和指针访问形式,具体应用如下:
#include <iostream>class Point //Point 类{public: void init( int a, int b) { x = a; y = b; } int GetX() { return x; } int GetY() { return y; }private: int x, y;};int main(){ Point p1; p1. init(1, 2); //圆点访问形式 std::cout << p1.GetX()<< ", " << p1.GetY()<< std::endl; //圆点访问形式 Point *p2 = new Point; p2 -> init(3, 4); //指针访问形式 std::cout << p2 -> GetX()<<", " << p2 -> GetY() << std::endl; //指针访问形式 return 0;}
struct和class关键字的区别
在用struct定义类的时候,所有成员的默认属性为public。
在用class定义类的时候,所有成员的默认属性为private。
类封装的访问属性
public:
公有属性,对象内部可以访问,对象外部也可以访问。
protected:
保护属性,对象内部可以访问,对象外部不可以访问。
private:
私有属性,对象内部可以访问,对象外部不可以访问。
class和struct访问属性的区别
struct中所有行为和属性都是public的;class中可以指定属性的访问方式。封装,可以达到对内开放数据,对外屏蔽数据,只对外提供接口,从未达到信息隐蔽的功能。
面向对象和面向过程的区别
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一次调用;
面向对象就是把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题步骤中的行为。
申明:本文章记录学习笔记,分享给大家一起学习,有不正确的地方欢迎大家指出。如有侵权,马上删除。