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);
    
  • 相关阅读:
    PythonStudy——数据类型总结 Data type summary
    PythonStudy——可变与不可变 Variable and immutable
    PythonStudy——列表操作 List operatio
    PythonStudy——列表的常用操作 List of common operations
    PythonStudy——列表类型 List type
    PythonStudy——字符串扩展方法 String extension method
    PythonStudy——字符串重要方法 String important method
    AWT,Swing,RCP 开发
    JQuery插件机制
    最新知识网站
  • 原文地址:https://www.cnblogs.com/fzu-031702148/p/8452332.html
Copyright © 2011-2022 走看看