修饰符,关键字

本文介绍了C#中的params修饰符,用于向方法传递数量不定的参数,以及base关键字,用于从派生类中访问基类成员,包括调用基类方法和指定基类构造函数。

Params修饰符
注:参数的最后一个修饰符用于向方法传递数量不定的参数,关键字params必须与一个单独的一维数组,并且应该是参数列表的最后一项,并且每个方法声明中,只能有一个params修饰符

如下所示:

static void main()

{
    PrintValue(1,2,3,4,5,6);

}

 

public static void PrintValue(params int [] valueList)

{

    foreach(int val in valuelist)

    {

        Console.Write(val);

    }

}

 

 

base 关键字

base 关键字用于从派生类中访问基类的成员:

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

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

基类访问只能在构造函数、实例方法或实例属性访问器中进行。

先调用基类的构造函数再调用派生类

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

 

例子1:

  1. public class Person
  2. {
  3.     protected string ssn = "444-55-6666";
  4.     protected string name = "John L. Malgraine";

  5.     public virtual void GetInfo()
  6.     {
  7.         Console.WriteLine("Name: {0}", name);
  8.         Console.WriteLine("SSN: {0}", ssn);
  9.     }
  10. }
  11. class Employee : Person
  12. {
  13.     public string id = "ABC567EFG";
  14.     public override void GetInfo()
  15.     {
  16.         // Calling the base class GetInfo method:
  17.         base.GetInfo();
  18.         Console.WriteLine("Employee ID: {0}", id);
  19.     }
  20. }

  21. class TestClass
  22. {
  23.     static void Main()
  24.     {
  25.         Employee E = new Employee();
  26.         E.GetInfo();
  27.     }
  28. }
  29. /*
  30. Output
  31. Name: John L. Malgraine
  32. SSN: 444-55-6666
  33. Employee ID: ABC567EFG
  34. */



例子2:

  1. public class BaseClass
  2. {
  3.     int num;

  4.     public BaseClass()
  5.     {
  6.         Console.WriteLine("in BaseClass()");
  7.     }

  8.     public BaseClass(int i)
  9.     {
  10.         num = i;
  11.         Console.WriteLine("in BaseClass(int i)");
  12.     }

  13.     public int GetNum()
  14.     {
  15.         return num;
  16.     }
  17. }

  18. public class DerivedClass : BaseClass
  19. {
  20.     // This constructor will call BaseClass.BaseClass()
  21.     public DerivedClass() : base()
  22.     {
  23.     }

  24.     // This constructor will call BaseClass.BaseClass(int i)
  25.     public DerivedClass(int i) : base(i)
  26.     {
  27.     }

  28.     static void Main()
  29.     {
  30.         DerivedClass md = new DerivedClass();
  31.         DerivedClass md1 = new DerivedClass(1);
  32.     }
  33. }
  34. /*
  35. Output:
  36. in BaseClass()
  37. in BaseClass(int i)
  38. */
AS 运算符
as 运算符只执行引用转换和装箱转换。as 运算符无法执行其他转换
AS转换时不会触发异常,而是返回NULL




考虑柔性负荷的综合能源系统低碳经济优化调度【考虑碳交易机制】(Matlab代码实现)内容概要:本文围绕“考虑柔性负荷的综合能源系统低碳经济优化调度”展开,重点研究在碳交易机制下如何实现综合能源系统的低碳化与经济性协同优化。通过构建包含风电、光伏、储能、柔性负荷等多种能源形式的系统模型,结合碳交易成本与能源调度成本,提出优化调度策略,以降低碳排放并提升系统运行经济性。文中采用Matlab进行仿真代码实现,验证了所提模型在平衡能源供需、平抑可再生能源波动、引导柔性负荷参与调度等方面的有效性,为低碳能源系统的设计与运行提供了技术支撑。; 适合人群:具备一定电力系统、能源系统背景,熟悉Matlab编程,从事能源优化、低碳调度、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究碳交易机制对综合能源系统调度决策的影响;②实现柔性负荷在削峰填谷、促进可再生能源消纳中的作用;③掌握基于Matlab的能源系统建模与优化求解方法;④为实际综合能源项目提供低碳经济调度方案参考。; 阅读建议:建议读者结合Matlab代码深入理解模型构建与求解过程,重点关注目标函数设计、约束条件设置及碳交易成本的量化方式,可进一步扩展至多能互补、需求响应等场景进行二次开发与仿真验证。
在 Java 中,权限修饰符关键字用于控制类、方法、成员变量和构造函数等的访问权限。主要有四种权限修饰符关键字,分别是 `private`、`default`(默认,不写修饰符时的情况)、`protected` 和 `public`,它们的访问权限范围从小到大依次为:`private` < `default` < `protected` < `public` [^1][^2][^3][^5]。 - **`private`**:私有的,只能在本类中访问。例如: ```java class PrivateExample { private int privateVariable = 10; private void privateMethod() { System.out.println("This is a private method."); } } ``` - **`default`**:默认修饰符,在编写代码时空着不写。被默认修饰符修饰的类、方法、成员变量等,只能被同一包内的类访问 [^2][^4][^5]。示例如下: ```java // 在同一个包内 class DefaultExample { int defaultVariable = 20; void defaultMethod() { System.out.println("This is a default method."); } } ``` - **`protected`**:受保护的,在本类、同一包下的类(包括子类和无关类)以及不同包下的子类中可以访问 [^1][^2][^3][^5]。示例: ```java // 父类 class Parent { protected int protectedVariable = 30; protected void protectedMethod() { System.out.println("This is a protected method."); } } // 不同包下的子类 class Child extends Parent { void accessProtected() { System.out.println(protectedVariable); protectedMethod(); } } ``` - **`public`**:公共的,具有最高权限,被 `public` 修饰的成员可以在任何地方被访问 [^1][^2][^3][^5]。示例: ```java class PublicExample { public int publicVariable = 40; public void publicMethod() { System.out.println("This is a public method."); } } ``` 下面是一个表格总结四种权限修饰符的访问权限范围: | 权限修饰符 | 本类 | 同一包下(子类和无关类) | 不同包下(子类) | 不同包下(无关类) | | --- | --- | --- | --- | --- | | `private` | 可以访问 | 不可以访问 | 不可以访问 | 不可以访问 | | `default` | 可以访问 | 可以访问 | 不可以访问 | 不可以访问 | | `protected` | 可以访问 | 可以访问 | 可以访问 | 不可以访问 | | `public` | 可以访问 | 可以访问 | 可以访问 | 可以访问 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值