github上的每日学习 8

终于来到了类和对象的学习了!

一、 面向对象程序的基本特点:抽象、继承、封装、多态

在第一天学习的时候就学习过了封装、多态、继承。

这里补充学习下抽象!

抽象就是对同一类对象共同属性和行为进行概括,形成类。老师特别说明在抽象的时候一定要注意问题的本质和描述。这是自己无论在解决什么问题的时候最容易忽略的,很会钻入细节里。
抽象还分为数据抽象(变量)和代码抽象(功能函数)。它的实现是类

封装通过{}实现

github上的每日学习 8_第1张图片

二、 类和对象的定义

在设计类的时候要考虑的问题:
1、 此类型的“合法值”是什么?
2、 此类型应该有什么样的函数和操作符?
3、 新类型的对象该如何被创建和销毁?
4、 如何进行对象的初始化和赋值?
5、 对象作为函数的参数如何以值传递?
6、 谁将使用此类的对象成员?

类的定义语法:

Class 类名称
{
 Public:
    公有成员(外部接口)
 Private:
    私有成员//可以授权访问,如果没有声明就默认私有
 Protected:
    保护型成员
};

类内初始化:在没有赋值时就要它,有时不用。
对象是类的一个实例,对象可以调用类内的一个功能。

定义对象的语法:

类名 对象名;
例子:
Clock myClock;

访问类内对象的语法:

类名.成员名;

类的成员函数

在类中要声明函数类型,可以在类外给出函数体的实现,并且函数名前使用类名加以限定。也可以在类内给出函数体,这叫做内联成员函数,与内联函数相似,这需要简单的函数才可以。同时,类的成员函数允许是重载函数和带默认参数值的函数。

三、 例子!

using namespace std;
class Clock {
 public :
    void setTime(int newH = 0,int newM = 0, int newS = 0);
    void showTime();
 private :
    int hour,minute, second;
};
void Clock::setTime(int newH, int newM, int newS)
{
    hour = newH;
    minute = newM;
    second = newS;
}
void Clock::showTime()
{
    cout << hour << ":" << minute << ":" << second;
}
int main() {
    Clock myClock;
    myClock.setTime(8,30,30);
    myClock.showTime();
    return 0;
}

github上的每日学习 8_第2张图片

你可能感兴趣的:(github上的每日学习 8)