zoukankan      html  css  js  c++  java
  • c#面向对象概论

    C语言是结构化编程,和面向对象编程 是不同风格。

    结构化编程 基本方式是“功能分解法”,具体说  就是将要解决的实际问题 进行分解,把一个大问题分成若干子问题,每个子问题又可以分解为更小的问题,知道得到的子问题可以用一个函数来实现为止。

    而面向对象编程 首先要将实际问题 抽象化 可以用一个模型 :

    例如: 输入 :2个日期————>程序——————>输入 2个日期间的天数。

    面向对象的程序有以下几个特点:

    1.所有的函数都放入到一个类中 ,称为某个类的成员,类是编程的基本单元。

    2外界不能直接调用类的成员函数,必须先创建一个对象,再通过对象来调用这些函数

    3.只有声明为public的函数可以被外界调用,其余声明为private的函数是私有的,外界无法访问。

    面向对象的核心概念

    (1 )封装

    封装的类=数据+对此数据所进行的操作(即算法)

    通俗的说,封装就是:包起外界不必需要知道的东西,只向外界展露可供展示的东西。

    (2)抽象

    在使用面向对象的方法设计一个软件系统时,首先就要区分出现实世界的 事物所属的类型。

    (3)继承

    不是我们认为的遗传的继承, 而是包含的意思。

                          食品

            水果                       蔬菜

    苹果        香蕉                          土豆

    重用已有代码而又不破坏已有代码。

    (4)多态

    基类拥有的特性,子类一定有,

    用抽象的类编程 。

    2 类与对象

    类是面向对象编程的 基本单元。(一切皆为对象 )

    只有声明为public的变量和函数可以被外界调用,其余声明为private的变量和函数是私有的,只能由自己的类使用。

    例子 狗咬狗

     class dog
        {
            public string name;
            public int HP = 100;
            public void fight(dog b)
            {
                Console.WriteLine(name+"开始攻击"+b.name);
                b.HP -= 10;
            }
          
                   public void fight(dog b,int blood)
            {
                Console.WriteLine(name+"开始攻击"+b.name);
                b.HP -= blood;
            }
            public void show()
            {
                Console.WriteLine(name+":"+HP);
            }
        }
        class Class1
        {
            static void Main(string[] args)
            {
                dog a = new dog();
               a.name=("旺财");
                dog b = new dog();
                b.name=("大黄");
                a.fight(b);
                a.show();
                b.show();
                b.fight(a);
                a.show();
                b.show();
                a.fight(b, 50);
                a.show();
                b.show();

     

    例子 输入人的姓名身高体重

     class ren
        {
            public string name;
            private int hight;
            public int gethight()
            {
                return hight;
            }
            private int weight;
            public void setweight(int w)
            {
                weight = w;
               
            }
            public void yundong()
            {
               
                weight--;
            }
            public void sethight(int h)
            {
                if (h < 0 || h > 250)
                {
                    Console.Write("身高输入错误");
                }
                else
                { hight = h; }
            }
            public void show()
            {
                Console.WriteLine("我叫"+name+",身高:"+hight+"厘米, 体重:"+weight+"公斤");
    
            }
        }
        class Class2
        {
    
            static void Main11(string[] args)
            {
                ren d = new ren();
                d.name = "小明";
                d.sethight(120);
                d.setweight(79);
                d.show();
                d.yundong();
                d.show();
                d.yundong();
                d.show();
                d.yundong();
                d.show();
                d.yundong();
                d.show();
                Console.Write(d.gethight());//get 和set 是一组对应函数, 设定 和 取得。
            }
            
        }

  • 相关阅读:
    倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3
    android studio导入项目时一直在Grandle Build Running
    Android Studio真机测试失败-----''No target device found"
    androidSDK配置环境变量
    Android Studio真机测试
    Android Studio修改默认Activity继承AppCompatActivity
    第一次使用Android Studio时你应该知道的一切配置(二):新建一个属于自己的工程并安装Genymotion模拟器
    第一次使用Android Studio时你应该知道的一切配置
    打开Android Studio时报Unable to access Android SDK add-on list
    友盟统计小白教程:创建应用,申请appkey
  • 原文地址:https://www.cnblogs.com/w297613932/p/4265418.html
Copyright © 2011-2022 走看看