C#学习9
来源:互联网 发布:魔晶幻想战魂进阶数据 编辑:程序博客网 时间:2024/06/05 20:00
C#学习9:类与对象
类与构造函数的使用,建一个圆形类,半径默认为0,count统计有几个圆
//Circle.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Cambridge{ class Circle { public int radius; public static int count=0; //只有类名可以使用count public Circle() //构造函数 { radius = 0; count++; } public Circle(int t) //重载构造函数 { radius = t; count++; } public double Area() { return Math.PI * radius * radius; } }}//Program.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Cambridge{ class Program { static void Main(string[] args) { Circle c1,c2; c1 = new Circle(); double area1 = c1.Area(); Console.WriteLine(area1); c2 = new Circle(10); double area2 = c2.Area(); Console.WriteLine(area2); Console.WriteLine("圆的数量为"+Circle.count); } }}
建一个点类,输入点的坐标,求该点到原点的距离
//Point.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Cambridge{ class Point { private int x; private int y; public Point() { x=0; y=0; } public Point(int a,int b) { x=a; y=b; } public double Dis(Point p) //参数为对象 { int xdif = x - p.x; int ydif = y - p.y; return Math.Sqrt(xdif * xdif + ydif * ydif); } }}//Program.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Cambridge{ class Program { static void Main(string[] args) { int x1 = int.Parse(Console.ReadLine()); int y1 = int.Parse(Console.ReadLine()); Point p1 = new Point(); Point p2 = new Point(x1, y1); double ans = p2.Dis(p1); Console.WriteLine("该点与原点的距离为" + ans); } }}
部分类
部分类定义,简言之,就是使用部分类定义,使类的定义横跨多个文件。
例如:可以把字段、属性和构造函数放在一个文件中,而把方法放在另一个文件中。
为此,只需在每个包含部分类定义的文件中对类使用partial关键字即可。
在一个项目中新建两个类,Circle1.cs,Circle2.cs,Program.cs可以调用者这两个类
//Circle1.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace cam{ partial class Circle { public Circle() { this.radius=0; } public Circle(int t) { this.radius=t; } }}//Circle2.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace cam{ partial class Circle { public int radius; public double Area() { return Math.PI * this.radius * this.radius; } }}//Program.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace cam{ class Program { static void Main(string[] args) { Circle c1 = new Circle(); double area1 = c1.Area(); Console.WriteLine(area1); Circle c2 = new Circle(10); double area2 = c2.Area(); Console.WriteLine(area2); } }}
匿名类
匿名类可以临时储存数据,生命周期只在这个方法内,方法结束了,这个类型的生命周期也没有了
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace com{ class Program { static void Main(string[] args) { var Obj1 = new { Name = "Tom", Age = 18 }; Console.WriteLine(Obj1.Name + " " + Obj1.Age); var Obj2 = new { Name = "Jerry", Age = 18 }; Console.WriteLine(Obj2.Name + " " + Obj2.Age); Obj1 = Obj2; Console.WriteLine(Obj1.Name + " " + Obj1.Age); } }}
- C#学习日志(9)
- C#学习9
- C#学习9
- C#学习笔记9-属性
- C#学习笔记9-委托
- 黑马程序员 c#学习9
- C#学习----C#变量
- C#学习---C#简介
- 【C#学习】C#基础
- 学习C#
- C#学习:
- c#学习
- C#学习
- C#学习
- C#学习
- C#学习
- 学习c#
- C#学习
- .NET中唯一一个非CAS代码访问权限类:PrincipalPermission
- poj 2540 Hotter Colder(线性规划可行区域)
- 12个有趣的C语言面试题
- maven assembly 依赖的管理和过滤
- Javastudy 08day--多态中的转型
- C#学习9
- 服务器推送技术
- STP、RSTP、PVST&PVST+、MSTP
- 12个有趣的C语言面试题
- develperworks关于POSIX线程的讲解
- 海量数据面试题整理
- android游戏开发学习笔记六(学习书籍 Android游戏编程之从零开始)
- tuxedo编译常见错误
- net-snmp中载入第三方mib库