c++ :类和对象

1.面向对象的概念:

   面向对象将系统看成通过交互作用来完成特定功能的对象的集合,每个对象用自己的方法来管理数据。也就是说,只有对象内部的代码能够操作对象内部的数据 。

2.面向对象的优点:

   通过继承、封装、多态等方法降低程序的耦合度,并结合设计模式让程序更容易修改和扩展 ,并且易于复用 。

3. 面向对象的特点:

    1.抽象:关键是抓住事物的本质 ,而不是内部具体细节和具体实现 。

    2.封装:把对象的属性和操作结合起来,构成一个独立的对象,通过限制属性和操作的访问权限,可以将属性隐藏在对象内部,对外提供一定的接口,外部只能通过接口来对对象进行操作;封装增强了对象的独立性,从而保证了数据的可靠性,外部对象不能直接操作对象的属性,只能使用对象提供的服务。

    3.继承:表达了对象一般与特殊的关系,子类具有父类全部的属性和服务,子类只需描述自己所特有的属性和操作即可,继承性大大简化了对问题的描述,提高了程序的可重用性。
    4.多态:同一个消息被不同对象接收时产生不同结果,即实现同一接口不同方法。

4.类(class)和对象(object)

   类可以看成c中结构体(struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同;也可以通过结构体定义结构体变量,使每个变量拥有相同的性质。

  例如:

#include<iostream>
using namespace std ;
 
class Student
{
    public:
        void setID(int id);
        {
            m_id = id ;
        }
        
        int getID()
        {
            return m_id ;
        }

        void setName(char *name)
        {
            m_name = name ;  
        
        }

        char *getName()
        {

            return  m_name ;
        }

        void display()
        {
            cout << "id = " << m_id << ",name = " << n_name << endl ;
        }
        
     private:
        int m_id ;
        char *m_name ;

};



int mian()
{
    
    Student stu ;
    stu.setName("ww");
    stu.setId("15");
    stu.display() ;
   


    return 0 ;
}

5. 类的使用案例

   1.类的声明放在头文件中(类的定义(宏,全局。。))

// Student.h

#ifndef _STUDENT_H_  //防止重复定义
#define _STUDENT_H_

class  Student
{

    public:
        int getAge();//声明类的成员函数,函数在其他地方体现
        void setAge(int age);

    private:
        char m_name[20];
        int m_age ;
};


#endif  //_STUDENT_H_

 2.  类的实现放在源文件中

   

//Student.cpp

#include "Student.h"

int Student::getAge()
{
    return m_age ;

} 


void Student::setAge()

{
    m_age = age ;
}

3.使用 

//main_Student.cpp


#include<iostream>
#include"Student.h"

int main()
{
    Student stu;
    stu.setAge(10);
    cout << stu.setAge(10) << endl ;

    return 0 ;
}

 

 

  

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值