C++(面向对象介绍1、2,类与对象1)

面向对象介绍1,2是方法论,省略。 

(1)类声明

(2)公有、私有、保护成员

(3)数据抽象和封装

1、类声明

//类是一种用户自定义类型,声明形式:

class类名称

{

  public:

      公有成员(外部接口)

  private:

      私有成员

  protected:

      保护成员

};

¥以时钟显示为例:有头文件(Clock.h),源文件(Clock.cpp),测试文件(test.cpp)

//Clock.h

复制代码
//#pragma once
//防止文件重复定义,推荐下面这种写法,提高移植性

#ifndef  _CLOCK_H_
#define  _CLOCK_H_

class Clock
{
public:
    int hour_;
    int minute_;
    int second_;

public:
    void Display();
    void Init(int hour,int minute,int second);

};
#endif // ! _CLOCK_H_
复制代码

 

//Clock.cpp

复制代码
#include "Clock.h"
#include <iostream>

using namespace std;

void Clock::Display()
{
    cout << hour_ << ":" << minute_ << ":" << second_ << endl;

}
void Clock::Init(int hour,int minute, int second)
{
    hour_ = hour;
    minute_ = minute;
    second_ = second; 
}
复制代码

//test.cpp

复制代码
#include <iostream>
#include <cstdio>
#include "Clock.h"

using namespace std;

int main(void)
{
    Clock c;
    c.Init(10,10,10);
    c.Display();
    c.second_ += 1;
    c.Display();

    return 0;
}
/*
输出结果:
10:10:10
10:10:11
*/
复制代码

 

2、公有、私有、保护成员

¥在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。

¥在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问。

¥在关键字protected后面声明,与private类似,其差别表现在继承与派生时对派生类的影响不同。

3、数据抽象和封装

¥数据抽象是一种依赖于接口和实现分离的编程(和设计)技术,类设计者必须关心类是如何实现的,但使用该类的程序员不必了解这些细节。使用者只要抽象地考虑该类型做什么,而不必具体地考虑该类如何工作。

¥封装是一项将低层次地元素组合起来形成新的、高层次的实体的技术,函数是封装的一种形式,函数所执行的细节行为被封装在函数这个更大的实体中,。被封装的元素隐藏了他们的实现细节------可以调用函数,但是不能直接访问函数所执行的语句。同样地,类也是一种封装地实体:它代表若干成员地聚集,设计良好地类隐藏了类实现地细节。

posted @   今天天气好极了  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示