我正在用C#编写我的第一个Windows Form面向对象程序。
我有一个基类,即: Game,有两个可能的继承类: VideoGame和BoardGame。
我的MainForm应该提供创建游戏、VideoGame和BoardGame对象的可能性,然后提供几个TextBoxes来输入类属性的值。
我正在尝试理解如何处理将创建几个可能的不同类的可能性。
为了更好地解释我自己,如果我有:
public partial class MainForm : Form
{
private Game newGame = new Game();
private void saveButton_
我目前正在开发一个projekt,其中我需要多个类的对象向量,它们共享相同的基本类,这样以后我就可以从它调用方法了。假设我的课程是这样的:
class basicClass
{
public:
void seta(bool a);
basicClass();
private:
int a;
};
class derivedClass1 : public basicClass
{
int b;
public:
derivedClass1();
void methodInClass1();
};
class derivedClass2 : public basicClass
我需要在现有类中添加一些新字段及其所有现有字段/属性。
因此,每当我的派生类被DAL填充时,我也将填充基类的所有字段。目前,我正在这样做,但不确定这是正确的方式吗?请举个例子吧。此外,我不确定基类对象是否会在每次初始化派生类时都是一个新对象?
public class Employee
{
private int _id;
private int _name;
public int ID
{
set { _id=value;}
get { return _id;}
我在Javascript中有两个类A和B,A扩展了B,它们的构造函数中都有一个同名的属性。
我试图从B类访问属性name的值,但是当从A创建一个新对象时,它被A替换为A。
class B {
constructor(){
this.name = "I AM B"
}
speakB(){
return this.name
}
}
class A extends B {
constructor(){
super()
this.name = "I AM A"
}
speakA(){
是否可以使用派生类的对象访问已重写的方法?
using System;
class Bclass
{
public virtual int result(int a,int b)
{
return a + b;
}
}
class Dclass:Bclass
{
public override int result(int a, int b)
{
return a - b;
}
}
public class Program
{
static public void Main(string[] arg
好的,我有两个类,第一个是Class1,第二个是Class2。因此,我想要做的是将Class1的引用发送到Class2。要做到这一点,我需要这样的代码:
Class1:
public class Class1 extends Activity {
/** Called when the activity is first created. */
public int Var1 = 5;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedI
我真的很困惑,所以我不得不问这个问题。我试着写一个应用程序,但我不知道如何到达派生类的变量,这些变量在基类的向量中。代码是:
class A {
public:
A() { };
std::vector<A> aVector;
void Foo();
}
class B : public A {
public:
B() { };
int j;
}
void A::Foo() {
aVector.push_back( B() );
// Here I would like to reach B::j, but onl
我有一个A类,它包含一个B类的对象作为属性。我希望派生类B,同时还希望确保类A中的属性指向派生类对象。因此,我想我需要派生类A,也重载该属性。下面是它的结构:
public class A {
public List<B> X{get; set;}
}
public class B {
}
public class C : B {
string extraProperty {get; set;}
}
public class D : A {
// I want property X to be of type C.
}
我尝试将类A中的属性X声明为虚拟的,然
每当基本窗体中的特定属性发生更改时,我都希望在派生表单上执行一些代码。
表单在表单上实现了一些常见的东西(滑冰等)
示例:
abstract class A
{
private bool _value;
public abstract void Execute();
public A()
{
_value = false;
}
public bool Value
{
get
{
return _value;
}
set
我想知道是否可以将类作为它的基类型。下面我做了一个小例子,描述了我指的情况。
我使用了示例中遗漏的Vector2类,但它只是由x和y类型的float值组成。
我试图使名为FindEntitiesWithPosition的方法与类Person和Vechicle一起工作,但我得到了错误E0312 no suitable user-defiend conversion from "std::vector<Person, std::allocator<Person>>" to "const std::vector<Entity, std::allo
假设你有两样东西(空间向量,颜色向量),它们在概念上是不同的(空间中的pos和颜色),但是它们实际上需要相同类型的运算--重载加、减、标量乘。
Cg编程语言中一个很好的解决方案是,它们实际上别名了成员名.xyzw和.rgba。所以在Cg中你可以做到
float4 vector = float4( 4, 3, 2, 1 );
float red = vector.r ;
float x = vector.x ;
// both red and x will have the value 4.0.
因此,问题是:你如何处理概念不同但在编程上相同的事情?我可以简单地使用一个类向量,并“记住”.x
我有一个基类,叫做primitive Graphics。从这个类派生出几种不同类型的图形、正方形、矩形、线条等。
我将这些图形存储在一个继承集合库的对象中。这会导致问题,因为在将派生类中的任何成员添加到集合中时,我无法访问这些成员。下面是我的原始集合类的默认属性
Public Class PrimitiveCollection
Inherits CollectionBase
''' <summary>
''' Get or set a primitive object by index
'&
我有以下设置:
class Parent {
virtual void foo(int x) = 0;
};
class Son : public Parent {
void foo(int x) {};
};
class Daughter : public Parent {
virtual void foo(int x) {};
};
如果我有vector<Parent> parents,并且我要通过一个循环的向量,如下所示:
for (int i = 0; i < parents.size(); i++) {
Parent s = pare
我在将c#类序列化为具有基类的XML文件时遇到了一个问题……下面是一个简单的例子:
namespace Domain
{
[Serializable]
public class ClassA
{
public virtual int MyProperty
{
get; set;
}
}
}
namespace Derived
{
public class ClassA : Domain.ClassA
{
public override int MyProperty
{
下面我遇到了JavaScript(ES6)的一个问题
class A{
constructor(){
this.foo();
}
foo(){
console.log("foo in A is called");
}
}
class B extends A{
constructor(){
super();
this.foo();
}
foo(){
console.log("foo in B is called");
}
}
我期望的是
foo in A is called
foo in B
有人能给我解释一下通过引用基类来实例化派生类和通过派生类名本身来实例化派生类之间的区别吗?
请通过这个程序
using System;
abstract class Test
{
public int _a;
public abstract void A();
}
class Example1 : Test
{
public override void A()
{
Console.WriteLine("Example1.A");
b
我想要一个函数,它接收一个带有基类元素的向量,并执行相应继承类的方法。我不知道是否应该在基类中定义一个虚函数。无论如何,只要我不希望继承的类是抽象的,它就不能是一个纯虚函数。
class A {
public:
void printSubclass() {
std::cout << "No subclass found";
}
};
class B : public A {
public:
void printSubclass() {
std::cout << "Subclass B
我知道有很多话题都有同样的问题,但我只是很困惑。
我想循环遍历我的对象属性并编写值。
但我看到的一切都告诉我
Dim pinfo() As PropertyInfo = MyCompanies(1).GetType().GetProperties()
这将创建一个包含属性信息的数组,但它不存储该object.property的实际值,
该属性的名称为ticker,但Mycompanies(1)的.ticker值为AMZN。
我的守则:
Dim pinfo() As PropertyInfo = MyCompanies(1).GetType().GetProperti
我正在处理一个关于<subclass>配置中的“每类表层次结构”设置中的几个NHibernate元素的问题。当我访问DB时,我试图获取父类的“大部分派生类型”。也就是说,当我获取一个EnergySource对象时,我希望基础类型是Grid或Primary,这取决于<discriminator...>。
如果我将属性lazy="false"添加到EnergySource类配置中,一切实际上都如出一辙。例如,我可以成功地转换EnergySource as Grid &我可以在EnergySource上使用反射&如果它与鉴别器匹配,我可以运行G
在iOS上是否有方法将属性添加到我要保存在documents目录中的文件中?理想情况下,我应该有文件名,创建日期和持续时间。
我目前使用两个日期格式化程序,并使用文件名来存储日期。如果我需要存储额外的参数,这将很快被证明是无法管理的。
//to save file
[_dateFormatter setDateFormat:@"MMddyyyyHHmmss"];
//to display file date to the user
[_displayDateFormatter setDateFormat:@"EEEE MMMM d, YYYY HH:mm"];
我将核心功能封装在ViewModelBase中
现在,我想要查看ViewModelBase何时引发PropertyChanged事件并对其执行操作。例如,当ViewModelBase上的一个属性被更改时-我想要更改我的ViewModel上的属性
我该如何实现这一点?
public class MaintainGroupViewModel : BaseViewModel<MEMGroup>
{
public abstract class BaseViewModel<T> : NotificationObject, INavigationAware
我在理解OOP的一些概念方面有一些问题。假设存在着不同的形状(圆圈、正方形等)但它们都是形状。因此,我可以使用多态性在向量中存储/收集所有形状,例如:
Shape* circle = new Circle(); // inherits form Shape-class
Shape* box = new Box(); // inherits form Shape-class
vector<Shape*> list;
list.push_back(circle);
list.push_back(box);
但是,如果我想访问(来自Shape-class派生的)类Box或Circl
我是PHP新手,有两个问题。当我尝试以下代码时:
<?php
class Base{
public function getId(){
return $this->id;
}
};
class Derived extends Base{
public $id = 1;
public function id(){
return $this->id;
}
};
$d1 = new Derived();
echo $d1->id();//echo 1
echo $d1->getId();//e
class Base
{
}
class Derive:Base
{
}
Base b=new Derive();
上面的代码可以工作,但是为什么我们能够创建一个派生类的对象,并将其分配给基类引用。此外,对象变量'b‘将能够访问Class Base的所有非私有变量和方法,即使它引用的是派生类。为什么引用派生对象的对象变量'b‘能够访问基类而不是派生类。
假设我有一个具有一个属性的对象Car : Model
我将使用数据库填充对象,如下所示:
Public Class Car
Public Property Model() As String
Get
Return _Model
End Get
Set(ByVal value As String)
_Model = value
End Set
End Property
Private _Model As String
Private Sub SetO