抽象基类关键字, abstractabstractclass SSS
{ public void aaa() { }
}作为抽象基类, 只能在 继承关系 中 担任父类的角色,不能出现在其他地方。 不能建对象。抽象类里面的 方法(函数)不能直接实现, 必须在子类实现。 关键字 override ---------只对属性有用(带大括号的)classoverride EEE : SSS
{publicvoid aaa(){}
}抽象新建SSS p = new EEE();原文:http://www.cnblogs.com/999c/...
在一个类前加“abstract”关键字,此类就成为抽象类。对应的,在一个方法前加“abstract”关键字,此方法就成为抽象方法。abstractclass Fruit //抽象类{publicabstractvoid GrowInArea();//抽象方法
} 注意抽象方法不能又实现代码,在方法名后直接跟一个分号。 抽象类专用于派生出子类,子类必须实现抽象类中所生命的方法。否子子类仍是抽象类。 抽象类一般用于表达一种比较抽象的事物,比如说“水果”,而抽象方法则...
obgect:所有数据类型都是obgect类型;万能类型 var :原来的变量不变,替换成var;动态类型 dynamic :类似object,遍历需要转;is as:类型转换运算符;(类型)对象:强制转换,如果转换不成功,会出异常;ArrayList arr = new ArrayList();arr.Add();foreach(obgect o in arr){ if ( o is Random ) { Random r = (Random)o; Console.WriteLine(r.Next(1,11)); }}is 判断某个对象或变...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplicationTest
{class Program{staticvoid Main(string[] args){}}publicclass Person {publicstring Name { get; set; }publicint Age { get; set; }//父类构造函数public Person(string name,int age){this.Name = name;this.Age = age;}}publicclass Student:Person{publicint Id { get; set; }//子类构造函数//关键...
1、里氏转换1)、子类可以赋值给父类2)、如果父类中装的是子类对象,那么可以讲这个父类强转为子类对象。2、子类对象可以调用父类中的成员,但是父类对象永远都只能调用自己的成员。3、is:表示类型转换,如果能够转换成功,则返回一个true,否则返回一个falseas:表示类型转换,如果能够转换则返回对应的对象,否则返回一个null4、protected受保护的:可以在当前类的内部以及该类的子类中访问。5、ArrayList集合的长度问题每次集合...
动机 (Motivation)在软件系统中,经常面临着“某个对象”的创建工作; 由于需求的变化,这个对象经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?如何提供一种“封装机制”来隔离出“这个易变对象”的变化,从而保持系统中“其他依赖该对象的对象”不随着需求改变而改变 ? 意图 (Intent)定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使得一个类的实例化延迟到子类。 ———《...
1.面向对象的3要素:封装:将不需要显示的代码封装到一个方法中,只对外提供方法名,用户不需关心内部实现。继承:子类继承父类,公用父类的代码,大大提高了代码的重用,贴近生活也符合人类的编程思想。多态:使一样的方法具有不同的实现效果,大大简化了开发的难度。实现接口和继承父类都能实现多态。其他术语:接口[interface]:接口提供一套规则继承接口的子类都必须实现其中的方法,也是实现多态的一个途径。结构[struct]:结构...
动机(Motivation)在软件系统中经常面临着“一系列相互依赖的对象”的创建工作,同时,由于需求变化,往往存在更多系列对象的创建工作。如何应对这种变化?如何绕过常规对象的创建,提供一种“封装机制”来避免客户程序和这种“多系列具体对象的创建工作”的紧耦合?意图(Intent)提供一个接口,让该接口负责创建一系列“相关或者相互依赖的对象”,无需指定它们具体的类。 ---《设计模式》 GoF结构 (Structure) 原文:...
.Net 视频学习第2季 C#面向对象 面向对象 里氏转换 随机数 protected里氏转换:子类对象可以赋值给父类对象;如果父类中装的是子类对象,可以将此父类对象强制转换成子类对象。子类对象可以调用父类成员,但父类对象永远只能调用自己的成员。is或者as均表示类型转换,is返回true/false,as返回转换后对象/nullclass Person
{publicstring Name {get;set;}
}class Student:Person
{
}class Teacher:Person
{
}Person p = new Studen...
用到的知识很简单:产生随机数、保存数据到文本文件、定时器的使用等。主要体现c#面向对象设计的思想。界面效果如下: 1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6 7namespace 体育彩票选号器8{9///<summary>10/// 日历类
11///</summary>12class Calendar
13 {
14publicstring Year { get; set; }
15publicstring Month { get; set; }
16publics...
第一讲:1. 面向对象设计模式与原则设计模式简介: 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 ——Christopher Alexander{建筑师}软件设计师对设计模式的概念的理解:(1)设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。(2)面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之...
动机 (Motivation)在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是它们组合在一起的算法却相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统的“稳定构建算法”不随着需求改变而变化 ? 意图(Intent) 将一个复杂对象的构建与其表示分离,使得同...
C# 访问修饰符public:公开的公共的private:私有的,只能在内部类中访问protected:受保护的,子类可以访问和类的内部internal:只能在当前项目/程序集中访问。在同一项目中,internal和public的权限是一样的protected internal:protected+internal权限 1.能够修饰类的访问修饰符只有两个:public,internal2.可访问性不一致子类的访问权限不能高于父类的访问权限,会暴露父类的成员 原文:https://www.cnblogs.com/youguess/p/8661721....
译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept列表:类对象变量方法访问修饰符封装抽象化继承多态抽象类/方法虚方法密封类/方法静态类/方法接口简介:关于C#面向对象我们能在网上找到很多解释,但在我的文章中我会用一个非常简单的例子来解释。该文章我会用一个House(房子)就像我们居住的房子作为实际的例子来让大家更容易的理解c#面向对象概念。 原文:http://www.cnblogs.com/yplong/p/42478...
publicclass Shengwu{privatestring _Name;publicstring Name{get { return _Name; }set { _Name = value; }}protectedstring Old="1231";publicvoid shengming(){Console.WriteLine("生物都是有生命的");Console.WriteLine(Old);}}class dongwu:Shengwu{privatestring _dName;publicstring DName{get { return _dName; }set { _dName = value; }}publicvoid huidong(){Console.WriteLine("动物会动");}}class Mammal:dongwu //哺乳...