封装和方法

  1. 封装

    1. 访问修饰符
      1. public 所有对象对可以访问
      2. private    对象本身在对象内部访问
      3. prorected   只有该类对象及其子类对象可以访问
      4. internal      同一个程序集的对象可以访问
      5. protected internal 访问限于当前程序集或派生自包含类的类型
  2. 方法

    1. 调用方法 <Access Specifier> <Return Type> <Method Name> (Parameter List)
      1. Access Specifier: 访问修饰符,这个决定了变量或者方法对另一个类的可见性
      2. Return Type: 返回类型,一个方法可以返回一个值
      3. Method Name: 方法名 大小写敏感,不能与类中的其他声明的其他标识符相同
      4. Parameter List: 参数列表
    2. 递归方法
      1. 一个方法可以自己调用自己就是所谓的递归
        1. 递归三要素
          1.  什么时候改结束
          2. 递归需要做啥
          3. 递归的返回值需要返回的值是啊
    3. 参数的传递
      1. 值参数
      2. 引用参数,使用 关键字 ref, 调用方式: ref  Type Parameter 
      3. 输出参数(可以返回多个值)使用关键字 out , 调用方式: out  Type  Parameter
        1. 输出参数不用赋值,当需要从一个参数没有初始化值得方法中返回值时, 输出方式特别有用
  3. 可空类型(Nullable)

    1.  ?: 单问号用于对 int、 double、bool等无法直接赋值为null的数据类型进行null赋值, 意思是这个数据类型是nullable类型的 
    2.  Null 合并运算符(??)
      1. Null合并运算符把操作数类型隐式的转换为一个可空的(或不可空)的值类型的操作数的类型
        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Text;
        
        namespace RectanglePack
        {
            class Rectangle
            {
                protected internal double m_length;
                protected internal double m_width;
                double GetArea()
                {
                    return m_length * m_width;
                }
                public void Display()
                {
                    Console.WriteLine("长度: {0}", m_length);
                    Console.WriteLine("宽度: {0}", m_width);
                    Console.WriteLine("面积: {0}", GetArea());
                }
            }
        };
        
        
        namespace StudentCShrap
        {
        
        
            class MainClassTest
            {
                static void Main(string[] args)
                {
                    double? num1 = null;
                    double? num2 = 3.1415926;
                    double num3;
                    num3 = num1 ?? 6.34; //如果num1 为null时 num3 = 5.34,否则等于num1
                    Console.WriteLine(num3);  //6.34
                    num3 = num2 ?? 3.14;
                    Console.WriteLine(num3); // 3.1415926
        
                    Console.ReadKey();
                    
                }
            }
        }
        
        输出:
        6.34
        3.1415926
        
        

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的封装是指将数据和对数据的操作进行封装,以达到保护数据、隐藏实现细节和简化调用的目的。常见的封装方式有函数和类两种。 函数封装: 函数封装是指将一段可重复使用的代码封装成一个函数,以便在程序中多次使用。函数封装的语法格式为: ``` def function_name(parameters): statements return value ``` 其中,`function_name`是函数名,`parameters`是函数的参数列表,`statements`是函数体,`return`语句用于返回函数的结果值。 例如,下面的代码中定义了一个函数`add_numbers`,用于计算两个数的和: ```python def add_numbers(a, b): result = a + b return result ``` 在程序中可以通过调用`add_numbers`函数来计算两个数的和: ```python x = 1 y = 2 sum = add_numbers(x, y) print(sum) # 输出3 ``` 类封装: 类封装是指将数据和对数据的操作封装在一个类中,以便在程序中多次使用。类封装的语法格式为: ``` class class_name: def __init__(self, parameters): self.data_member = value def method_name(self, parameters): statements return value ``` 其中,`class_name`是类名,`__init__`方法是构造函数,用于初始化类的成员变量,`data_member`是数据成员,`method_name`是方法名,`statements`是方法体,`return`语句用于返回方法的结果值。 例如,下面的代码中定义了一个类`Rectangle`,用于表示矩形,并封装了计算周长和面积的方法: ```python class Rectangle: def __init__(self, length, width): self.length = length self.width = width def perimeter(self): return 2 * (self.length + self.width) def area(self): return self.length * self.width ``` 在程序中可以通过创建`Rectangle`类的对象来计算矩形的周长和面积: ```python rect = Rectangle(5, 3) print(rect.perimeter()) # 输出16 print(rect.area()) # 输出15 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值