ASP.NET OOP-关联操作符重载的操作_RelationalOperatorOverloading_A

一、首先要在“App_Code / .cs”描述“类”所要的相关程序。

///

/// C# ?面向对象程序设计“关联操作符重载 (RelationalOperatorOverloading) ”的用法 A。

///?

/// 关联的逻辑操作符可以经由自订的类型与运算之后,返回一个 true 或 false 的

/// 运算结果。

///?

/// 此范例将介绍“> <”这种关联操作符重载的操作。

///?

///

//声明自订一般类。

public class RelationalOperatorOverloading_A_Cs

{

? ? //声明公开整数字段。(学生人数)

? ? public int StudentCount_F;

? ? //声明公开成员静态方法。(关联操作符重载)

? ? public static bool operator >(RelationalOperatorOverloading_A_Cs objRelationalOperatorOverloading_A1_Val, RelationalOperatorOverloading_A_Cs objRelationalOperatorOverloading_A2_Val)

? ? {

? ? ? ? //当“学生A1班对象大于学生A2班对象”人数是成立时。

? ? ? ? if (objRelationalOperatorOverloading_A1_Val.StudentCount_F > objRelationalOperatorOverloading_A2_Val.StudentCount_F)

? ? ? ? {

? ? ? ? ? ? //返回结果。

? ? ? ? ? ? return true;

? ? ? ? }

? ? ? ? else //当“学生A1班对象大于学生A2班对象”人数不是成立时。

? ? ? ? {

? ? ? ? ? ? //返回结果。

? ? ? ? ? ? return false;

? ? ? ? }

? ? }

? ? //声明公开成员静态方法。(关联操作符重载)

? ? public static bool operator

? ? {

? ? ? ? //当“学生A1班对象小于学生A2班对象”人数是成立时。

? ? ? ? if (objRelationalOperatorOverloading_A1_Val.StudentCount_F

? ? ? ? {

? ? ? ? ? ? //返回结果。

? ? ? ? ? ? return true;

? ? ? ? }

? ? ? ? else //当“学生A1班对象小于学生A2班对象”人数不是成立时。

? ? ? ? {

? ? ? ? ? ? //返回结果。

? ? ? ? ? ? return false;

? ? ? ? }

? ? }

}

二、接下来就可以在“aspx.cs”操作相关“类”所建立的“对象”等属性与方法的操作。

using System;

public partial class _RelationalOperatorOverloading_A : System.Web.UI.Page

{

? ? //当 Button 控件按下时所要执行的动作。

? ? protected void Button1_Click(object sender, EventArgs e)

? ? {

? ? ? ? //声明建构对象操作实例。(学生A班)

? ? ? ? RelationalOperatorOverloading_A_Cs objStudent_A = new RelationalOperatorOverloading_A_Cs();

? ? ? ? //声明建构对象操作实例。(学生B班)

? ? ? ? RelationalOperatorOverloading_A_Cs objStudent_B = new RelationalOperatorOverloading_A_Cs();

? ? ? ? //设定学生A班人数。

? ? ? ? objStudent_A.StudentCount_F = 40;

? ? ? ? //设定学生B班人数。

? ? ? ? objStudent_B.StudentCount_F = 20;

? ? ? ? //设定 Label 控件的显示文字。(学生A班学生人数)

? ? ? ? this.Label_Output.Text += "Student_A 班级学生人数:" + objStudent_A.StudentCount_F + "

";

? ? ? ? //设定 Label 控件的显示文字。(学生B班学生人数)

? ? ? ? this.Label_Output.Text += "Student_B 班级学生人数:" + objStudent_B.StudentCount_F + "

";

? ? ? ? //当“学生A班大于学生B班”人数时。

? ? ? ? if (objStudent_A > objStudent_B)

? ? ? ? {

? ? ? ? ? ? //设定 Label 控件的显示文字。

? ? ? ? ? ? this.Label_Output.Text += "Student_A 学生人数大于 Student_B 学生人数

";

? ? ? ? }

? ? ? ? else //当“学生A班小于学生B班”人数时。

? ? ? ? {

? ? ? ? ? ? //设定 Label 控件的显示文字。

? ? ? ? ? ? this.Label_Output.Text += "Student_A 学生人数小于 Student_B 学生人数

";

? ? ? ? }

? ? ? ??

? ? }

}

三、详细 UI 部分请自行参阅源代码的.aspx 部分,源代码请见 YouTube 说明页的下载连结位置。

原文:大专栏  ASP.NET OOP-关联操作符重载的操作_RelationalOperatorOverloading_A

原文地址:https://www.cnblogs.com/chinatrump/p/11490952.html

时间: 2024-12-25 12:40:53

ASP.NET OOP-关联操作符重载的操作_RelationalOperatorOverloading_A的相关文章

Kotlin操作符重载:把标准操作加入到任何类中(KAD 17)

作者:Antonio Leiva 时间:Mar 21, 2017 原文链接:https://antonioleiva.com/operator-overload-kotlin/ 就像其他每种语言一样,在Kotlin中,已经预定义了一些操作符执行一定的操作. 最典型的是加(+),减(-),乘(*),除(/),而且还有很多. 类似Java这样的一些语言,这些操作符被限制在一些特定的数量类型上,且没有方法让其他类型数据使用这些操作符. 还有在像Scala这样的其他语言中,由于函数名称可接受任何符号,我

lua 14 metatable (类似操作符重载)

转自:http://www.runoob.com/lua/lua-metatables.html 感性认识: "Lua中Metatable这个概念, 国内将他翻译为元表. 元表为重定义Lua中任意一个对象(值)的默认行为提供了一种公开入口. 如同许多OO语言的操作符重载或方法重载. Metatable能够为我们带来非常灵活的编程方式. 具体的说, Lua中每种类型的值都有都有他的默认操作方式, 如, 数字可以做加减乘除等操作, 字符串可以做连接操作, 函数可以做调用操作, 表可以做表项的取值赋值

c++ --> 操作符重载

一.什么是操作符重载 操作符重载可以分为两部分:“操作符”和“重载”.说到重载想必都不陌生了吧,这是一种编译时多态,重载实际上可以分为函数重载和操作符重载.运算符重载和函数重载的不同之处在于操作符重载重载的一定是操作符.我们不妨先直观的看一下所谓的操作符重载: #include <iostream> using namespace std; int main() { int a = 2 , b = 3; float c = 2.1f , d = 1.2f; cout<<"

Python中的操作符重载

类可以重载python的操作符 操作符重载使我们的对象与内置的一样.__X__的名字的方法是特殊的挂钩(hook),python通过这 种特殊的命名来拦截操作符,以实现重载. python在计算操作符时会自动调用这样的方法,例如: 如果对象继承了__add__方法,当它出现在+表达式中时会调用这个方法.通过重载,用户定义的对 象就像内置的一样. 在类中重载操作符 1.操作符重载使得类能拦截标准的python操作. 2.类可以重载所有的python的表达式操作符. 3.类可以重载对象操作:prin

操作符重载方法

CLR规范要求重载操作符重载方法必须是public和static方法 C#要求操作符重载方法至少有一个参数的类型与当前定义的这个方法类型相同 为了减少运行时开销,编译器会直接针对基元类型执行运算,并直接生成操作这些类型的实例的中间代码(IL)指令,所以在Framework标准库中没有定义基元类型的操作符重载 代码示例 public sealed class Complexe { public static Complexe operator +(Complexe c1, Complexe c2)

再议Swift操作符重载

今天我们来谈一谈Swift中的操作 符重载,这一功能非常实用,但是也相当有风险.正所谓“能力越大责任越大”,这句话用来形容操作符重载最合适不过了.它可以令你的代码更加简洁,也可以让 一个函数调用变得又臭又长.而对于那些没怎么读过你的代码的人来说,操作符的使用同时也会让代码的可读性大打折扣. 谨 慎引入,按需使用.比如在连接两个字串的时候你就可以通过重载加法来实现.甚至于你仅在屏幕上输入一个加号,就能响应一个网络链接.播放一段音乐或者完成 你能实现的其他任何功能.然而过于复杂的功能对编码来说简直就

【C/C++】操作符重载

常见问题 Q1. 下列运算符,在C++语言中不能重载的是( ). A. * B. ?: C. :: D. delete Q2. 编写类String的构造函数.析构函数和赋值函数. Q3. 复制构造函数与赋值运算符的区别是什么? Q4. 下述代码的输出结果是什么? 1 #include <iostream> 2 using namespace std; 3 class X 4 { 5 public: 6 X() { cout << "constructor" &l

【C/C++学院】(8)全局函数和类成员函数转化/友元/操作符重载

1.全局函数和类成员函数转化 全局函数和成员函数的相互转化:只需要修改一个指向本类的this指针: #include <iostream> using namespace std; class Test { public: Test(int a, int b) { this->a = a; this->b = b; } //成员函数 Test &Gadd2(Test &t2) { this->a = this->a + t2.a; this->b

Asp.Net SignalR Hub类中的操作详解

Asp.Net SignalR Hub类中的操作详解 Hub类中的操作 在服务端我们要通过Hub类做一系列操作,下面就说说我们都可以做什么操作 客户端的发送消息操作 调用所有的客户端的helloClient方法 Clients.All.helloClient(); 调用除了给定ConnectionId的客户端之外的所有客户端的helloClient方法 Clients.AllExcept(Context.ConnectionId).helloClient(); 调用指定的connectionId