zoukankan      html  css  js  c++  java
  • 面向对象 封装

    什么是对象?

    万物介对象,可以说是一个人,一个物体

    对象有三种特性

    封装   继承   多态

    作用:

    重用性性好(就和html里面的css的代码可以多次用到html里面)

    可维护性好(哪里的模块有问题  修改哪个模块)

    结构清晰 (代码省却了不少代码  调用哪个模块都清楚)

    namespace fengzhuanglianxi1       //命名空间(程序集)   + 空间名称
    {
               class Program     //类    +类名
             {

              }

    }

    访问修饰符

    public  公共的  访问权限最高的

    interval 默认的,当前程序集下使用--就是在同一个命名空间下使用

    private 私有的  只有在类里面使用,出了类不能调用

    protected  被保护的

    封装

    什么是封装?

    我个人理解为是把一堆代码(可以是一个方法 可以是类似结构体)打包/封装  一个模块 用来使用。

    封装作用?

    简便,快捷使用,保护

    定义:

    public class  类名

    {

        private 数据类型  _名称 ;     //成员变量,字段    -------因为private是私有的  保护这个成员变量

        public  数据类型  名称         ------------这里的数据类型不一定和上面的数据类型一致    名称是一样的       意思作为作为  保护   成员变量  和外界  的  中介

        {

        get{  return _名称;  }   ----获取成员变量的值   返回外界

        set{  _名称=value;  }    ----从外界获取的值   放到成员变量

        }

    }  

    例如:

    public class stundet
        {
           private string _Sno;
           public string Sno
           {
               get { return _Sno; }
               set { _Sno = value; }
           }
           private string _Sname;
    
           public string Sname
           {
               get { return _Sname; }
               set { _Sname = value; }
           }
    
        }
    View Code

    调用

    先实例化

    类名  变量= new 类名();

    例如:

    static void Main(string[] args)        //写在Main函数里面    同一个命名空间下
            {
    
                Student a = new Student();
                Console.Write("请输入学号:");
                a.Sno = Console.ReadLine();
                Console.Write("请输入姓名:");
                a.Sname = Console.ReadLine();
            }
    View Code

    方法也是一样

    例如:

     public class  Math             //在Math类里面
        {
            public int Jiafa(int a,int b)    // 写用方法
            {
                return a + b;           //方法代码  并返回值
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                Math a = new Math();//  实例化
               int ss= a.Jiafa(10,2);// 调用方法
            }
        }
    View Code

    成员变量   限制条件

    例如:

     private string _Sno;
    
            public string Sno
            {
                get { return _Sno; }
                //如果学号为空 显示<暂无>
                set {
                    if (value == "")
                        value = "<暂无>";
                    _Sno = value;
                }
            }
    View Code

    继承:

    public class 子类名:父类类名

    {}
    一个子类只能有一个父类

    子类可以继承全部父类中的public的方法和属性

    父类 基类

    子类 派生类 超类

    --------------------------------------
    多态:

    子类的多种形态
    有了继承才有了多态
    virtual 写在访问修饰符之后,让方法变成 虚方法
    可以被子类进行重写, override 只能重写函数体

  • 相关阅读:
    oracle mybatis 模糊查询
    IntelliJ IDEA各种引入jar包的方式及其关系
    eclipse中新建Java工程的三个JRE选项区别
    @Autowired注解和@resource注解的区别
    结合测试,黑盒测试
    Oracle左连接、右连接、全外连接以及(+)号用法
    samePropertyValuesAs()
    Collection.sort 的用法
    junit withcapture
    单元测试
  • 原文地址:https://www.cnblogs.com/zhangwei99com/p/6716473.html
Copyright © 2011-2022 走看看