zoukankan      html  css  js  c++  java
  • C# 继承

    用自然语言来描述继承中的关系就是  人继承生物 男人继承人  你继承男人  人具备所有生物应该有的特征  男生具备所有人应该有的特征  你具备男人所有应该有的特征 

    C#中的继承就是为了描述现实世界的具体包容 关系!你可以很简单的把继承认识为一种针对于面向过程语言的简化性,包括操作的简化,代码的简化,便于理解!
    比如说,在C中你需要描述一个人的信息,就要
    结构 人
    {
    五官
    四肢
    }
    结构 男人
    {
    五官
    四肢
    胡须
    }
    结构 女人
    {
    五官
    四肢
    胸部
    }
    这样的代码你看到问题没有。。。就是每一种定义里边都具备五官和四肢。。。面向过程里边没有继承的概念,所以你要做出很多重复性的工作,如果让你开发一个商业应用系统,那么会有很多的实体存在,你每种实体都定义一遍,代码会很臃肿,而已不便理解,难以维护!假如某一天突然想要在人的结构中加多一个躯干的属性,那么你要把所有与人有关的结构实体都加上一个躯干,会让程序员发疯的!

    而面向对象的三个特性就是为了解决上述问题,比如说继承,用 C#描述刚才的结构

    class 人
    {
    public string 五官{get;set;}
    public string 四肢{get;set;}
    }
    class 男人:人
    {
    public string 喉结{get;set;}
    }
    class 女人:人
    {
    public string 胸部{get;set;}
    }

    这样的结构,当你 要定义一个男人的实例的时候 男人 爷们=new 男人();
    爷们这个实例下边会有三个公共属性,即 五官 四肢 喉结!女人的话就是五官 四肢 胸部!

    面向对象为面向过程提供了一种编码上的补充,让程序员可以节省很多力气,并且根据这些特征来改善我们的应用,使得开发更加的流畅!能够拥有更多良好的设计和算法!这个就是面向对象的目的。。。。

    利用面向对象来改善上边的修改操作,倘若加入一个躯干的属性,那么只要加在人的那个基类里就可以了,男人女人两个类完全不用改动
  • 相关阅读:
    oracle实验13:单行函数-数字函数
    oracle实验12:单行函数-字符函数
    oracle实验41:编写存储过程
    oracle实验40:编写函数
    oracle实验31:使用PL/SQL,书写一个最简单的块
    oracle实验9-11:使用where和order by子句
    oracle实验6-8:关于null值,列的别名,去掉重复行
    oracle实验5:查询当前用户的所有表和视图
    MD5
    时间戳 日期 转换
  • 原文地址:https://www.cnblogs.com/aiqingqing/p/4413899.html
Copyright © 2011-2022 走看看