你能否给我一个对抽象类和继承使用几乎过于简单化的理解并帮助我,这样我才能真正理解这个概念以及如何实现?我有一个项目,我正在努力完成,并且失去了如何实施.我一直在和我的教授聊天,并被告知,如果我无法弄明白,我可能还没准备好上课.我已经完成了prequestite课程,但仍然无法理解这些概念.
澄清一下,到目前为止,我所做的项目如下.我还没有填写狗/猫类等.你能指点一下吗?我不是要求任何人给我"答案".我只是迷失在哪里.我参加在线课程,他与我的沟通工作一直令人不安.我刚刚完成了所有其他课程的4.0,所以我愿意付出努力,但我对这些概念的理解以及如何实际应用它们感到迷茫.
是否有任何意见或帮助可以让我在这个项目中取得进一步进展?
我要实现的内容如下:
概述:
本练习的目的是演示Interfaces,Inheritance,Abstract classes和Polymorphism的使用.您的任务是获取提供的程序shell并添加适当的类和相应的类成员/方法,以使此程序正常运行.您不能对提供的任何代码进行更改,您只能添加您编写的类.尽管有许多方法可以使程序正常工作,但您必须使用演示Interfaces,
Inheritance,Abstract classes和Polymorphism的技术.同样,为了清楚起见,您可以添加到提供的代码,但不能更改或删除任何代码.提供的代码将使用非常少的附加代码,并将满足练习的要求.如果成功完成分配,程序应在运行时输出以下语句:
我的名字是Spot,我是一只狗
我的名字是费利克斯,我是一只猫
要求:
1)您必须有一个名为"Animal"的抽象基类,Dog和Cat类可以从中派生出来.
2)Animal基类必须从接口'IAnimal'派生,它是唯一应该从IAnimal派生的类.
3)由于所有动物都有一个名字,一个名字不是一个特定于狗或猫的属性,动物
基类应该是存储名称的位置以及实现WhatIsMyName get-property的位置.
4)您需要创建一个仅从Animal基类派生的Dog和Cat类.
5)Dog和Cat类应该实现WhatAmI get-property并返回相应的字符串值.
您无法更改的代码:
using System;
namespace IT274_U2
{
public interface IAnimal
{
string WhatAmI { get; }
string WhatIsMyName { get; }
}
public class TesterClass
{
public static void DescribeAnimal(IAnimal animal)
{
Console.WriteLine("My name is {0}, I am a {1}", animal.WhatIsMyName, animal.WhatAmI);
}
static void Main(string[] args)
{
Dog mydog = new Dog("Spot");
Cat mycat = new Cat("Felix");
DescribeAnimal(mydog);
DescribeAnimal(mycat); …Run Code Online (Sandbox Code Playgroud) 我们的公司已经接近其"上线"日期(以及获得QA部门日期),我正在尝试定义正确的操作流程来支持这一点.我的一个重要考虑因素是如何避免不可避免地发生的部署/配置问题.有没有人找到一个很好的解决方案,将构建交给非程序员,以便他们可以在QA,登台和生产环境中成功安装和配置它?
我们的完整环境由异构计划任务,Windows服务和网站组成,所有这些都可以通过并行部署进行扩展.值得庆幸的是,配置方式是一致的.不幸的是,它都通过.NET web/app.config文件进行管理.根据我的经验,QA和操作人员在尝试修改它们时总是陷入困境(对于大多数人来说,XML难以处理!)
这是我正在考虑的选项:
这是我在实践中没有做过的事情,但看起来很有希望.如果我们创建一个machine.config模板,其中包含可能因环境而异的每个应用程序的每个设置,这将允许管理员对一个文件进行所有更改并将其部署到环境中的每台计算机.
如果我们设置QA,登台和生产环境,使它们看起来与我们的软件(虚拟服务器和LAN等)完全相同,那么QA应该能够将没有配置更改的现成软件直接转换到登台环境,并进入生产阶段.通过这种设置,理论上我们可以将QA预先配置的foo.config文件交给无人接触的文件.
这个对我来说看起来并不吸引人,因为我尝试了三种最终失败的方式:
您使用我正在考虑的选项有多成功?有没有其他替代方案适合您?
假设file1看起来像这样:
bye bye hello thank you
而file2看起来像这样:
chao hola gracias
所需的输出是这样的:
bye bye chao hello hola thank you gracias
我自己已经提出了五种不同的方法来解决这个问题.但我认为必须有更多的方法,可能更简洁,更优雅的方式,我希望我能学到更多很酷的东西:)
以下是我迄今为止所尝试的内容,基于我从之前问题的许多解决方案中学到的内容.此外,我正试图消化或内化我从Llama书中获得的知识.
代码1:
#!perl
use autodie;
use warnings;
use strict;
open my $file1,'<','c:/file1.txt';
open my $file2,'<','c:/file2.txt';
while(defined(my $line1 = <$file1>)
and defined(my $line2 = <$file2>)){
die "Files are different sizes!\n" unless eof(file1) == eof(file2);
$line1 .= $line2;
$line1 =~ s/\n/ /;
print "$line1 \n";
}
Run Code Online (Sandbox Code Playgroud)
代码2:
#!perl
use autodie;
use warnings;
use strict;
open my $file1,'<','c:/file1.txt';
my @file1 = <$file1>;
open …Run Code Online (Sandbox Code Playgroud) 在报告方面,您如何最大限度地减少开发过程中的痛苦?
对于Web框架,有一种非常直接的方式来生成内容以及以图形方式设计它; 内容通过HTML在语义上表示,设计通过CSS单独指定.并且浏览器与它们呈现输出的方式相当一致(并且不一致性是众所周知的并且可以计划).甚至还有WYSIWYG编辑器来帮助那些不太懂CSS的图形设计师.
但是我们如何处理印刷内容呢?
在一家公司,我创建了一个如下工作的流程:脚本通过XML生成语义表示.XML通过XSLT传递以生成XML-FO文档.然后,这被传递给另一个工具(我相信Apache FOP)来生成PDF.这对该公司来说效果很好.
然而,在这家公司,输出外观对管理层很重要,我们有一个图形设计师.目前,我们正在使用报告工具(Developer Express,版本8.1中的XtraReports).这不错; 它输出到各种格式,有一个WYSIWYG设计器,报告通过C#类实现,它支持数据绑定到数据集(不幸的是,不是POCO).但是,我们在此设置中遇到了一些主要的难点:
现在,也许有一些kick-ass框架可以消除报告框架的痛苦,但我认为它们都有自己的弱点.您是否拥有适合您的框架或流程,并减少报告中固有的痛点?
有时,当帮助另一个程序员编写代码时,我会指示我希望他们输入什么.有时这可能是一个令人沮丧的练习,直到程序员习惯了你如何用语言表达代码(即"分配5到x"对比"x等于5" ).我还没想到的一件事是如何在C#中有效地发音lambda表达式.
例如,如果我想(x, y) => x * y输入,这是我尝试过的各种事情:
我:Lambda表达式取x和y,得x倍y
他:"嗯?"
我:代表服用x和y,返回x倍y
他:
delegate(x, y) { return x * y; }x和y是什么类型的?我:x和y的元组,右箭头x乘y
他:"呃?"
我:打开paren,x,逗号,y,close-paren,右箭头x次y
他:(x,y) - > x*y
我:呃,双箭头?
他:>>
我:叹气......等于大于
他:(哦,大于或等于?)> =
我:好的,让我开车一会儿!
有问题的程序员知道lambda表达式是什么,但是它们很难沟通.我相信我们会学习如何,但我甚至都不知道我是否正确行事.您是否找到了一种成功的方法来指示C#中这种相对较新的语言结构?或者更好的是,是否有一种语言中立的方式来发音lambda表达式?
我有一个像这样的子数组的数组
Array
(
[0] => Array
(
[customers] => Array
(
[id] =>
)
[Products] => Array
(
[id] =>
)
[Models] => Array
(
[id] => 151
[SubModels] => Array
(
[ol] =>
)
[Noice] =>
)
)
Run Code Online (Sandbox Code Playgroud)
我想在数组上创建一个switch语句
所以这样的事情
switch($array){
case Products:
case customers:
case Models:
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做 谢谢
我已经实现了一种算法,用于在无向图中查找给定起始顶点的欧拉循环(使用 DFS 并删除访问过的边),但它总是只返回一条路径。如何修改算法以搜索顶点的所有可能的欧拉循环?
这是相关代码:
typedef int Graph[200][200]; // adjacency matrix
int v, e; // vertex count, edge count
......
void DFS(Graph &G, int x) {
int i;
Push(x);
for (i = 0; i < v; i++)
if (G[i][x] > 0) {
G[i][x] = 0;
G[x][i] = 0;
DFS(G, i);
break;
}
Run Code Online (Sandbox Code Playgroud)
}
我正在创建一个Knockout绑定,它将作为jQuery小部件的包装器.此小部件将事件处理程序应用于子元素.不幸的是,窗口小部件的事件处理直接应用于子元素,而不是委托.问题是,我有一个foreach在相同的元素结合,但我需要自定义的结合应用后,该foreach应用结合.
显然,正确的做法是修复jQuery插件,但目前这不是一个选项.我想知道我是否有任何好的解决方案选项.例如,有没有办法做以下任何一种情况?
更新:
我应该提到的一个方面是这个自定义和foreach绑定驻留在模板中.因此,直接修改DOM的解决方案对我来说不起作用,因为它实际上会修改模板.
我有一个像这样的输入序列8, 7, 6, 5, 4, 3, 2, 1, 0, 5, 4, 3, 2, 1, 0, 4。结果应该显示的是0, 0。
是的,这很容易。0, 0但当输入仅为 时,我不希望结果为0, 0。
这里的问题是,它应该只0在前一个值大于零时才发布。
我有一个棘手的CSS问题.这是一个事实,即该网站的"主旋律"的CSS是第三方(它无法改变,但我们可以用另一种样式覆盖),以及网页上的所有使用绝对定位布局,加剧尺寸(这不能改变).
在这个第三方CSS的某个地方,我们有这个声明:
body {
line-height: 1.3;
}
Run Code Online (Sandbox Code Playgroud)
一个div页面上有一个font-size的14px,使得其行高18.2px.这对于典型的网站来说很好.但是,由于所有内容都使用像素位置绝对定位,因此字体渲染差异正在发挥作用.具体来说,Windows中的谷歌浏览器正在将其line-height缩小到18px.这意味着divChrome for Windows 中的大量内容比任何其他浏览器都要短得多.所有其他浏览器似乎都支持亚像素线高度.
有没有办法强制Chrome for Windows尊重子像素行高,这样它的呈现方式与其他浏览器不同?
更新
这是一个JSFiddle,展示了它的不同之处.如果您比较Chrome for Windows和Firefox for Windows中的高度,您会发现0.2px每行都有差异.
c# ×3
.net ×2
algorithm ×1
asp.net ×1
cakephp-1.3 ×1
css ×1
dictating ×1
frameworks ×1
graph ×1
graph-theory ×1
interface ×1
knockout.js ×1
lambda ×1
perl ×1
php ×1
printing ×1
reporting ×1