zoukankan      html  css  js  c++  java
  • C#面向对象编程 封装 继承 多态

      C#面向对象编程

    什么是面向对象

    面向对象编程是上个实际六十年代继面向结构编程之后提出的一个新的编程思想

    封装,继承,多态

    封装,继承,多态是面向对象编程的核心:

    封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型

    意义是:保护数据不被破坏(例如一台电视机我们能使用它但是不能随意改变内部的电路)

    关键字:private,public,protected,internal

    Public string name;

    继承:继承主要实现重用代码,节省开发时间 在继承中 构造函数运行顺序由上至下 而析构函数则是以下至上,继承语句如下:

    Public class name:类名

    --------------------------------------------------------------------------------------------------------------------

    在学习多态的时候时候不得不提一下虚方法

    虚方法:声明virtual的方法就是虚方法 在基类中定义虚方法可以在子类中使用override重写

    而利用重写的过程就是多态

    Virtual public void show()//定义虚方法

    Override public void show()//方法的重写

    Base关键字

    Base关键字:base关键字用于从派生类中访问基类成员 主要形式如下:

    调用基类上已被其他方法重写的方法

    指定创建派生类实例应调用的基类构造函数

    (base关键字不能在静态方法中使用)

    笔者在这里写了一个关于一个案例示范了一下

     

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

     

    namespace 代码的继承

    {

        class Goods//定义了一个基类

        {

            public string TradeCode { get; set; }//定义商品编号

            public string FullName { get; set; }//定义商品名称

            

        }

        class JHinfo : Goods

        {

            //定义进货编号

            public string JHID { get; set; }

            public void showinfo()//输出进货编号

     

            {

                Console.WriteLine("进货编号:{0} 商品编号:{1} 商品名称:{2} ",JHID,TradeCode,FullName);

     

            

            }

            }

    }

      class Program

        {

            static void Main(string[] args)

            {

                JHinfo jh = new JHinfo();//实例化对象

                jh.TradeCode = "战神1000";

                jh.FullName = "笔记本电脑";

                jh.JHID = "ZS10000";

                jh.showinfo();

                Console.WriteLine();

                Console.ReadKey();

     

     

            }

        }

    }

     

     

  • 相关阅读:
    mysql添加字段索引失败 BLOB/TEXT column 'col2' used in key specification without a key length
    ajax跨域处理 No 'Access-Control-Allow-Origin' header is present on the requested resource 问题
    pycharm/Goland/Webstorm永久激活记录
    nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument解决
    mysql优化之explain各参数详解:
    Django项目中"expected str, bytes or os.PathLike object, not list"错误解决:
    Mysql之1451
    python2与python3下的base64模块
    celery:Unrecoverable error: AttributeError("'unicode' object has no attribute 'iteritems')
    django-redis缓存记录
  • 原文地址:https://www.cnblogs.com/qufeiba/p/6905367.html
Copyright © 2011-2022 走看看