zoukankan      html  css  js  c++  java
  • 学习asp.net已经有3个月了,重新整理一下面向对象(一)

    这篇文章可能比较基础,对于面向对象的知识稍作一点总结

    首先什么是面向对象呢?其实说白了很简单啊,就是一种分析问题的方式,那么,为什么要用面向对象的分析思想呢?因为面向对象可以增加程序的可拓展性

    面相对象的三大特性:封装,继承,多态

    提到面向对象,顾名思义,必须要有对象,那么在对象之前,首先要有类,类里面有字段,属性,方法,而且一个类中,可以有多个字段,属性,方法,多个字段可以变成属性,那么用到的就是封装,类与类之间有继承,那么,为什么要继承呢?就是为了实现多态(接口,虚,抽象)有的同学分不清类和对象,类是一个模子(确定对象拥有的属性和方法)在这里,我给一个比较好记和理解的解释:我们以键盘为例,键盘就是一个类,而我的键盘,是一个对象,对象是看得见,摸得着的,类是没有特指的

    封装:什么是封装?

    类和对象本身就是封装的体现,类当中字段,如果用public,那么谁都可以访问,就没有安全性可言了,所以设置成private你只能在内部调用,我们可以把字段封装成一个属性,这里会有一个疑问,属性我不就可以在外部调用么?还是不安全啊,这个理解是不对的,属性我们就有get和set,可以控制属性里面的值,属性是保护字段的,举个例子吧,

    lass Program
    {
    private int field1; //这个field1就是字段
    public int Field1 //这个Fileds1就是属性
    {
    get{return field1;}
    set{field1=value;}
    }
    }//因为字段的访问修饰符为private外部不能访问它,但可以定义属性为public来访问

    封装不单单体现在这里,比如写了很多代码,这些代码做的都是同一件事情,这个时候我们就可以封装成方法,很多方法,发现做的事情差不多,可以放到类,封装。。将相同功能的代码封装到程序集

    继承:主要是代码重用和多态LSP就是很好的例子,自己去理解,这里我要说下的是is和as的区别:英文is的中文意思是“是……”英文as的中文意思是“作为……(使用)”
    所以,从字面意思来看也清楚这两个关键字是做什么用处的了。

    那么,问题来了,他们怎么使用呢?

    is是判断类型,,,as是转换类型比如判断a是不是b 。。。 if(a is b) 是的返回true,,否则返回false

    把a类型转换成b类型 a as b ...这样转换比较安全,,应该转换失败不会出现异常,而是返回NULL,返回的是对象

     

     

  • 相关阅读:
    TP5框架 《防sql注入、防xss攻击》
    jsonp跨域的原理
    PHP程序发送HTTP请求代码
    encodeURI()和encodeURIComponent() 区别
    密码存储中MD5的安全问题与替代方案
    获取用户Ip地址通用方法常见安全隐患(HTTP_X_FORWARDED_FOR)
    PHP中的调试工具 --Xdebug安装与使用
    手机端页面自适应解决方案—rem布局(进阶版,附源码示例)
    thinkphp 微信授权登录 以及微信实现分享
    PHP中使用CURL之php curl详细解析和常见大坑
  • 原文地址:https://www.cnblogs.com/guyali/p/5283122.html
Copyright © 2011-2022 走看看