zoukankan      html  css  js  c++  java
  • OOP 1.5 类和对象的基本概念与用法1

    1、定义

    • 面向对象的基本特点:抽象、封装、继承、多态
    • 面向对象程序设计方法:将某类客观事物的共同特点归纳出来,形成一个数据结构
    • 抽象:将事物所能进行的行为归纳出来,形成一个个函数,这些函数可以用来操作数据结构
    • 通过某种语法,将数据结构和操作该数据结构的函数捆绑在一起,形成一个
    • 封装:使得数据结构和操作该数据结构的算法呈现出显而易见的紧密关系

    2、实例:编写程序,输入长和宽 计算面积和周长

    • 三个行为:设置长宽、计算面积、计算周长
    • 三个函数封装在一起,形成一个矩形类
    • 长、宽成为矩形类的成员变量,三个函数称为成员函数。成员变量和成员函数称为类的成员
    • 待解决问题:class和struct的关系和区别
    class CRectangle//这里的class可以用struct代替
    {
        public:
            int w,h;
            int a()
        {
            return w*h;
        }
        int p()
        {
            return 2*(w+h);
        }
        void init(int w1, int h1)
        {
            w=w1;h=h1;
        }
    };//最后要有分号
    
    int main()
    {
        int w,h;cin>>w>>h;
        CRectangle r;
        r.init(w,h);
        cout<<r.a()<<"	"<<r.p()<<endl;
        return 0;
    }
    

    3、对象的内存分配

    • 和结构变量一样,对象占用内存大小等于所有成员变量大小之和
    • 成员函数只占用一份存储空间,被所有对象共享,不会放入对象里面,对象只包含成员变量,不包含成员函数

    4、对象间的运算

    • 对象仅可以使用“=”进行赋值,不可以使用比较运算,除非重载

    5、使用类的成员变量和成员函数

    • 法1:对象名.成员名
      e.g.Crectangle r1,r2;r1.w=5;r2.init(5,4);
    • 法2:指针->成员名
      e.g.
    Crectangle r1,r2;
        Crectangle *p1=&r1;Crectangle *p2=&r2;
        p1->w=5;
        p2->init(5,4);
    
    • 法3:引用名.成员名
      e.g.
    Crectangle r2;
    Crectangle &rr=r2;
    rr.y=5;
    rr.init(5,4);
    
  • 相关阅读:
    sqlserver where in 在 mysql
    C# MVC 获得程序运行路径 .net core
    matplotlib之scatter自动绘制散点
    matplotlib之scatter绘制散点
    可视化数据matplotlib之安装与简单折线图
    selenium之批量执行测试用例
    selenium之使用unittest测试框架
    python之使用smtplib模块发送邮件
    python之time模块:获取当前时间
    一个IT人士的个人经历,给迷失方向的朋友
  • 原文地址:https://www.cnblogs.com/fzu-031702148/p/8452332.html
Copyright © 2011-2022 走看看