五、C# 类
class Program
{
static void Main(string[] args)
{
string firstName = "aaaaa", middleName = "bbbbbbbbb", lastName = "cccccccc";
string fullName;
Employee e = new Employee();
e.FirstName = firstName;
e.LastName = lastName;
Console.WriteLine(e.FirstName + "." + e.LastName);
}
}
public class Employee
{
private string _FirstName;
public string FirstName
{
set
{
_FirstName = value;
}
get
{
return _FirstName;
}
}
private string _LastName;
public string LastName
{
set
{
_LastName = value;
}
get
{
return _LastName;
}
} }
public class Employee
{ public string Title { set; get; }
public Employee Manager { set; get; } }
使用属性的好处在于,如果需要添加一个额外代码:比如在set方法中添加验证,数据的合法性。
public class Employee
{
private string _FirstName;
public string FirstName
{
private set
{
_FirstName = value;
}
get
{
return _FirstName;
}
}
private string _LastName;
public string LastName
{
private set
{
_LastName = value;
}
get
{
return _LastName;
}
}
public string Title { private set; get; }
public Employee Manager { private set; get; } }
public string Title
{
private set;
get
{
return _FirstName + "." + _LastName;
}
}
class Program
{
static void Main(string[] args)
{
string firstName = "aaaaa", middleName = "bbbbbbbbb", lastName = "cccccccc";
string fullName;
Employee e = new Employee(firstName, lastName) { Title = "MyTitle", Content="Content" }; Console.WriteLine(e.Title + ":" + e.Content + "" + ":" + e.FirstName + "." + e.LastName);
Console.ReadLine(); } }
public class Employee
{
public Employee(string firstName, string lastName)
{ FirstName = firstName;
LastName = lastName;
}
private string _FirstName;
public string FirstName
{
private set
{
_FirstName = value;
}
get
{
return _FirstName;
}
}
private string _LastName;
public string LastName
{
private set
{
_LastName = value;
}
get
{
return _LastName;
}
}
public string Title
{
set;
get; }
public string Content
{
set;
get; }
public Employee Manager { set; get; } }
public Employee(string firstName, string lastName)
{ FirstName = firstName;
LastName = lastName;
}
public Employee(string Title, string firstName, string lastName)
: this(firstName, lastName)
{
this.Title = Title;
}
public static class DirectoryInfoExtension
{
public static string Message(this Employee e, string message1, string message2)
{
return message1 + message2;
}
}
string firstName = "aaaaa", middleName = "bbbbbbbbb", lastName = "cccccccc";
string fullName;
Employee e = new Employee(); Console.WriteLine(e.Title + ":" + e.Content + "" + ":" + e.FirstName + "." + e.LastName); Console.WriteLine(e.Message(firstName,lastName));
Console.ReadLine();
五、C# 类的更多相关文章
- (转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
- Typescript 学习笔记五:类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- c++ 吕凤翥 第五章 类对象一
一 类的声明和实现 1. class tdate //声明部分 { public: void setdate(int y,int m,int d); int isleapyear(); voi ...
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- Java编程思想学习(五) 复用类
1.继承与组合 复用类的方法有两种:继承与组合.继承就不多说了,组合就是直接在类中new一个对象. 数组也是对象,使用数组也是组合的一种. 2.初始化基类 当创建一个导出类的对象时,该对象包含一个基类 ...
- C#基础(五)——类中私有构造函数作用
如果类成员有private修饰符,就不允许在类范围以外访问这个类成员.对类构造函数应用private修饰符时,则禁止外部类创建该类的实例.尽管看上去有些不好理解(既然不能实例化,那么这个类还有什么用处 ...
- Java解惑五:类之谜
本文是依据JAVA解惑这本书,做的笔记.电子书见:http://download.csdn.net/detail/u010378705/7527721 谜题46 函数重载的问题. JAVA重载解析过程 ...
- PHP学习笔记二十五【类的继承】
<?php //定义父类 class Stu{ public $name; protected $age; protected $grade; private $address;//私有变量不会 ...
- 深入struts2.0(五)--Dispatcher类
1.1.1 serviceAction方法 在上个Filter方法中我们会看到例如以下代码: this.execute.executeAction(request, response, m ...
- php笔记(五)PHP类和对象之对象的高级特性
对象比较,当同一个类的两个实例的所有属性都相等时,可以使用比较运算符==进行判断,当需要判断两个变量是否为同一个对象的引用时,可以使用全等运算符===进行判断. class Car { } $a = ...
随机推荐
- DB2 replace into实现
最近进入到另一个项目, 数据库用的是DB2, 要实现MySQL中类似replace into的功能, 网上搜了下, 实现了一个类似功能的基础方法(PHP实现) public function repl ...
- bzoj3191
其实这是一个约瑟夫问题的变种首先我们先处理这样一个问题已知n个人,编号0~n-1,每k人干掉一个,问最后留下来的是谁当n,k非常大的时候,模拟是不行的,这时候我们考虑重编号第1次退出的肯定是肯定是编号 ...
- 线性规划||网络流(费用流):COGS 288. [NOI2008] 志愿者招募
[NOI2008] 志愿者招募 输入文件:employee.in 输出文件:employee.out 简单对比 时间限制:2 s 内存限制:512 MB [问题描述] 申奥成功后,布布经过 ...
- 贪心 BZOJ 3671:[Noi2014]随机数生成器
Description Input 第 1行包含5个整数,依次为 x_0,a,b,c,d ,描述小H采用的随机数生成算法所需的随机种子.第2行包含三个整数 N,M,Q ,表示小H希望生成一个1到 ...
- T-SQL 控制流语句
批处理: 一个批处理段是由一个或者多个语句组成的一个批处理,之所以叫批处理是因为所有语句一次性被提交到一个SQL实例. 批处理是分批提交到SQL Server示例,因此在不同的批处理里局部变量不可访问 ...
- Java系统变量设置方式
近期碰到一个编码的问题,发现整个平台都是用的GB2312,因此导致webservice调用时有些字不能正常接受. 反编译中间件的源码如下: public static final String nod ...
- SQL随笔
多表分页查询: ,; 向表中插入新的字段: ALTER TABLE `Table_name` ) NOT NULL DEFAULT '' AFTER `id`; 更新表数据: UPDATE [LOW ...
- Hibernate四 批量处理
Hibernate批量处理一 批量插入将很多条记录插入数据库时,Hibernate通常会采用以下做法:public void test() { for(int i=0;i<1000;i++){ ...
- Redis的安装及配置
Redis安装及主从配置 一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表) ...
- 用urllib2实现一个下载器的思路
下载器的构造 用urllib2实现下载器时从以下几个层面实现功能和灵活性: handler redirect, cookie, proxy 动作 timeout 构造请求 headers: ua, c ...