当时第一个例子

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace MyCS
{
public class Class1
{

public void function()
{
Cats cat = new Cats();
cat.CatToJiao();
}

public void function2()
{
Cat cat = new Cat();
Mouse mouse1 = new Mouse("mouse1", cat);
Mouse mouse2 = new Mouse("mouse1", cat);
Master master = new Master(cat);
cat.Cry();
}
}

#region 方式1

public interface observer
{
void Response();
}
public interface Subject
{
void Amiat(observer obs);
}

public class Mouse : observer
{
private string name;

public Mouse(string name, Subject subj)
{
this.name = name;
subj.Amiat(this);
}

public void Response()
{
Console.WriteLine(name + " run!");

}
}
public class Master : observer
{
public Master(Subject subj)
{
subj.Amiat(this);
}
public void Response()
{
Console.WriteLine(" Host Waken!");
}
}

public class Cat : Subject
{
private ArrayList objservers;
public Cat()
{
this.objservers = new ArrayList();
}
public void Amiat(observer obs)
{
this.objservers.Add(obs);
}
public void Cry()
{
Console.WriteLine("Cat cryed!");
foreach (observer obs in this.objservers)
{
obs.Response();
}
}

}
#endregion

#region 方式2
public delegate void SubToEventHandler();
public abstract class Sutobject
{
public event SubToEventHandler sutoEvent;
protected void ToEvents()
{
if (this.sutoEvent != null)
{
this.sutoEvent();
}
}
}

public class Cats : Sutobject
{
private string name;
public void CatToJiao()
{
Console.WriteLine(" cat 猫叫");
ToEvents();
}
}

public abstract class Objectservers
{
public Objectservers(Sutobject sub)
{
sub.sutoEvent += new SubToEventHandler(sub_sutoEvent);
}

public abstract void sub_sutoEvent();
}

public class MouseClass : Objectservers
{
public string Name;
public MouseClass(string name, Sutobject sub)
: base(sub)
{
this.Name = name;
}

public override void sub_sutoEvent()
{
Console.WriteLine(Name + " 老鼠反应开始跑了");
}
}

public class RenClass : Objectservers
{
public string Name;
public RenClass(string name, Sutobject sub)
: base(sub)
{
this.Name = name;
}
public override void sub_sutoEvent()
{
Console.WriteLine(Name + " 人醒来了");
}
}

#endregion

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace MY_WCMD_CS
{
class Program
{
private static int num = 100;
public static Mutex mutex = new Mutex();
static void TestFuenction()
{
Program class1 = new Program();
//创建线程
Thread first = new Thread(new ThreadStart(new Program().MethodOne));
Thread two = new Thread(new ThreadStart(new Program().MethodTwo));
//启动线程
first.Start();
two.Start();
while (true)
{
int ch = Console.Read();
if (ch == ‘q‘)
{
first.Abort();
two.Abort();
break;
}
}
Console.WriteLine("主线程退出!");
Console.ReadLine();
Console.ReadLine();
}
//纯种方法一
public void MethodOne()
{
while (true)
{
Program.mutex.WaitOne();
if (num > 0)
{
Thread.Sleep(2000);
Console.WriteLine("2 现在售第" + num + "张票.");
num--;
}
Program.mutex.ReleaseMutex();
}
}
//线程方法二
public void MethodTwo()
{
while (true)
{
Program.mutex.WaitOne();
if (num > 0)
{
Thread.Sleep(2000);
Console.WriteLine("1 现在售第" + num + "张票.");
num--;
}
Program.mutex.ReleaseMutex();
}
}
}

/************************************************************************/
/* */
/************************************************************************/

public interface IFen
{

}

public static class IFen接口扩展
{
//
public static void Fen<T>(this T t) where T : IFen
{
Console.WriteLine();
}
}

public class A类
{
public virtual void 方法1()
{
Console.WriteLine("我是A类的方法1");
}
}

public class B类:IFen
{
public void 方法x()
{
Console.WriteLine("");
}
}

public class C类 : A类,IFen
{
public override void 方法1()
{
Console.WriteLine("我是A类的子类,方法1");
}

public void 方法x()
{
this.Fen();
}
}
}

时间: 2024-10-08 12:45:16

当时第一个例子的相关文章

04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

 1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mvc结构 DispatcherServlet:中央控制器,把请求给转发到具体的控制类 Controller:具体处理请求的控制器(配置文件方式需要配置,注解方式不用配置) handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略 ModelAndView:服务

1jdbc简介+第一个例子

第一章 简介 JDBC(Java Data Base Connectivity的缩写,中文:java数据库互连),由一些接口和类构成的API. J2SE的一部分,由java.sql(1.0),  javax.sql(2.0里的新特性)包组成. 1996,SUN提出为java程序开发人员访问各种数据库提供了统一的编程接口,可以屏蔽底层数据库的不同. 相关概念: ODBC:Open Datebase Connectivity,开放数据库互连 C和关系型数据库交互的一种方式,微软提出的. Driver

emberjs学习一(环境和第一个例子)

code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent; } code, pre tt { background-color: transparent; border: none; } --> emberjs学习一(环境和第一个例子) 博客:http://www.cnblogs.com/xiangbing/p/emberjs-test.html 案例:http://www.love

Qt之QCustomPlot绘图(一)配置和第一个例子

最近一个用Qt开发的项目需要绘制坐标曲线,我在老师的指点下使用了QCustomPlot这个插件,使用方法简单,功能还算不错. 可是在网上找了很多资料和博文都只是将官方提供的例子演示一遍,没有系统全面的学习资料,所以我决定把自己在探索过程中获得的一些开发实例和经验分享出来,与大家共同学习交流,请各位朋友多多指教. 一.QCustomPlot的安装 官方下载地址:http://www.qcustomplot.com/index.php/download 推荐下载第一个链接,里面有很多官方给的例子可以

Linux 设备驱动的第一个例子 。

Hello World Linux 设备驱动的第一个例子 . 一. 源程序( hello.c )   #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALERT "Hello, world/n"); return 0; } static void

hibernate第一个例子-保存对象

3.hibernate第一个例子-保存对象 使用hibernate框架需要导入的jar包: antlr-2.7.6 backport-util-concurrent c3p0-0.9.1 commons-collections-3.1    apache集合帮助的包 commons-logging-1.1.1日志 dom4j-1.6.1解析XML ehcache-1.5.0缓存框架 hibernate3hibernate核心包 javassist-3.9.0.GA代理模式工具包,解决懒加载问题

Hibernate学习的第一个例子

这是本人学习Hibernate的第一个例子: 1,先配置数据库驱动,点击myeclipse的myeclipse Database Explore,选择相应的数据库,进行配置,完成之后退出. 2,给项目添加支持Hibernate的功能,使用到的jar包有如下的: 进行了一系列的选项之后,到sessionfactory这一项,不选.然后点击完成. 3,配置表到java类的映射.点击右上方的myeclipse中的myeclipse database expore视图,选择数据驱动,选中要操作的表,然后

ThinkPHP3.2.2:记录一下第一个例子的运行过程

初次学习php框架,查了一下,据说laravel市场占有最高,但是根本装不了啊.需要cmd下用https方式进行下载,各种帆樯软件都用上了,根本没法用,坑死人了.由百度一下,国内的php框架据说thinkPHP热度很高,从ThinkPHP主站http://www.thinkphp.cn/看了半天教程也没看懂,自己摸索吧.记录一下第一个例子的运行过程,防止以后忘记. 1.安装WAMPServer,到D:\wamp\. 2.下载ThinkPHP3.2.2核心版.解压缩后,放到D:\wamp\www\

第一个例子没有问题,第二个例子出现了

第一个是hibernate基本的配置hibernate.cfg.xml ->*.hbm.xml... Hibernate: insert into user (id, name, password, say) values (null, ?, ?, ?) 第二个是hibernate的annotation的基本基本配置就是hibernate.cfg.xml ->实体类中加注解@entity... Hibernate: insert into Teacher (name, password, sa

Informatica_(2)第一个例子

PowerCenter Repository Manager1.启动客户端程序连接服务器打开客户端(PowerCenter Repository Manager)PCRM;存储库--配置域--添加新域:填写域名(Domain_1).网关主机(SC-201709251400).网关端口后(6005),点“确定”:选中右边的存储库(BI),点“确定”:双击左边导航中的BI存储库,填写用户名.密码(admin),点“连接”:BI存储库显示在工作区,客户端连接服务器成功. 2.创建文件夹点文件夹-->创