仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 420|回复: 8
打印 上一主题 下一主题

[学习教程] ASP编程:深切分析C#承继机制(2)

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:36:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。承继4、多级承继

  一些面向工具言语同意一个类从多个基类中承继,而另外一些面向工具言语只同意从一个类承继,但能够随便从几个接口或纯笼统类中承继。

  只要C++撑持多级承继,很多程序员对此批驳纷歧。多级承继常会引发承继来的类之间的凌乱,承继而来的办法常常没有独一性,以是C#中类的承继只能够是一个,即子类只能派生于一个父类,而偶然你必需承继多个类的特征,为了完成多重承继必需利用接口手艺,上面是对接口的多重承继举行先容:

 

usingSystem;
//界说一个形貌点的接口
interfaceIPoint
{
intx{
get;
set;
}
inty{
get;
set;
}
}
interfaceIPoint2
{
inty{
get;
set;
}
}
//在point中承继了两个父类接口,并分离利用了两个父类接口的办法
classPoint:IPoint,IPoint2
{
//界说两个类外部会见的公有成员变量
privateintpX;
privateintpY;
publicPoint(intx,inty){
pX=x;
pY=y;
}
//界说的属性,IPoint接口办法完成
publicintx
{
get
{returnpX;}
set
{pX=value;}
}
//IPoint1接口办法完成
publicinty
{
get
{returnpY;}
set
{pY=value;}
}
}
classTest
{
privatestaticvoidOutPut(IPointp)
{Console.WriteLine("x={0},y={1}",p.x,p.y);}
publicstaticvoidMain(){
Pointp=newPoint(15,30);
Console.Write("TheNewPointis:");
OutPut(p);
stringmyName=Console.ReadLine();
Console.Write("mynameis{0}",myName);
}
}
5、承继与会见润色符

  会见润色符是一些关头字,用于指定声明的成员或范例的可会见性。类的承继中有四个会见润色符:publicprotectedinternalprivate。利用这些会见润色符可指定以下五个可会见性级别:publicprotectedinternalinternalprotectedprivate。


 

声明的可会见性意义
public会见不受限定。
protected会见仅限于包括类或从包括类派生的范例。
internal会见仅限于以后项目。
protectedinternal会见仅限于从包括类派生确当前项目或范例。
private会见仅限于包括范例。

  1、承继中关于可会见域的一些成绩

  基类的一切成员(实例机关函数、析构函数和静态机关函数除外)都由派生范例承继。这乃至包含基类的公有成员。可是,公有成员的可会见域只包含声明该成员的范例的程叙文本。鄙人面的示例中


classA
{
intx;
staticvoidF(Bb){
b.x=1;//对
}
}
classB:A
{
staticvoidF(Bb){
b.x=1;//毛病
}
}

  类B承继类A的公有成员x。由于该成员是公有的,以是只能在A的"类体"中对它举行会见。因而,对b.x的会见在A.F办法中获得了乐成,在B.F办法中却失利了。

  2、承继中关于属性的一些成绩

  和类的成员办法一样,我们也能够界说属性的重载、虚属性、笼统属性和密封属性的观点。与类和办法一样,属性的润色也应切合以下划定规矩:

  属性的重载

  1.在派生类中利用润色符的属性,暗示对基类中的同名属性举行重载。

  2.在重载的声明中,属性的称号、范例、会见润色符都应当与基类中被承继的属性分歧。

  3.假如基类的属性只要一个属性会见器,重载后的属性也应只要一个。但假如基类的属性同时包括get和set属性会见器,重载后的属性能够只要一个,也能够同时有两个属性会见器。

  注重:与办法重载分歧的是,属性的重载声明实践上并没有声明新的属性,而只是为已有的虚属性供应会见器的详细完成。

  虚属性

  1.利用virtual润色符声明的属性为虚属性。

  2.虚属性的会见器包含get会见器和set会见器,一样也是虚的。

  笼统属性

  1.利用abstract润色符声明的属性为笼统属性。

  2.笼统属性的会见器也是虚的,并且没有供应会见器的详细完成。这就请求在非虚的派生类中,由派生类本人经由过程重载属性来供应对会见器的详细完成。

  3.abstract和override润色符的同时利用,不仅暗示属性是笼统的,。并且它重载了基类中的虚属性这时候属性的会见器也是笼统的。

  4.笼统属性只同意在笼统类中声明。

  5.除同时利用abstract和override润色符这类情形以外,static,virtual,override和abstract润色符中恣意两个不克不及再同时呈现。

  密封属性

  1.利用sealed润色符声明的属性为密封属性。类的密封属性不同意在派生类中被承继。密封属性的会见器一样也是密封的。

  2.属性声明时假如有sealed润色符,同时也必需要有override润色符。

  从下面能够看出,属性的这些划定规矩与办法非常相似。关于属性的会见器,我们能够把get会见器当作是一个与属性润色符不异、没有参数、前往值为属性的值范例的办法,把set会见器当作是一个与属性润色符不异、仅含有一个value参数、前往范例为void的办法。看上面的程序:


usingSystem;
publicenumsex
{woman,man,};
abstractpublicclassPeople
{
privatestrings_name;
publicvirtualstringName
{
get
{returns_name;}
}
privatesexm_sex;
publicvirtualsexSex
{
get
{returnm_sex;}
protectedstrings_card;
publicabstractstringCard
{get;set;}
}

  下面的例子中声了然"人"这个类,人的姓名Name和性别Sex是两个只读的虚属性:身份证号Card是一个笼统属性,同意读写,由于类People中包括了笼统属性Card,以是People必需声明是笼统的。上面我们为留宿的主人编写一个类类从People中承继。再看上面的程序:


classCustomer:People
{
strings_no;
inti_day;
publicstringNo
{
get
{returns_no;}
set
{
if(s_no!=value)
s_no=value;
}
}
publicintDay
{
get
{returni_day;}
set
{
if(i_day!=value)
i_day=value;
}
}
publicoverridestringName
{
get{returnbase.Name;}
}
publicoverridesexSex
{
get{returnbase.Sex}
}
publicoverridestringCard
{
get
{returns_card;}
set
{s_card=value;}
}
}

  在类Customer中,属性Name、Sex和Card的声明都加上了override润色符,属性的声明</p>减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。
只想知道 该用户已被删除
沙发
发表于 2015-1-20 10:29:26 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
小女巫 该用户已被删除
板凳
发表于 2015-1-27 22:25:56 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
再见西城 该用户已被删除
地板
发表于 2015-2-5 10:33:36 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
谁可相欹 该用户已被删除
5#
发表于 2015-2-11 09:00:07 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
深爱那片海 该用户已被删除
6#
发表于 2015-3-2 07:50:42 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
爱飞 该用户已被删除
7#
发表于 2015-3-11 02:28:27 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
简单生活 该用户已被删除
8#
发表于 2015-3-17 19:08:32 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
金色的骷髅 该用户已被删除
9#
 楼主| 发表于 2015-3-24 20:25:55 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-9 04:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表