我想创建一个名为 的函数createInstance,该函数接收一个实例a并创建一个c与 类型相同的新实例a。请注意,我不知道里面的createInstance类型是什么a,我只知道它继承自某个类A。但我想c成为一个类型B,这是真正的类型a。这是我到目前为止所得到的:
class A {
constructor(public ref: string) {}
}
class B extends A {
}
const createInstance = (a: A): void => {
const t = a.constructor
const c = new t("c")
console.log(c)
console.log(c instanceof B)
}
const b = new B("b")
createInstance(b)
Run Code Online (Sandbox Code Playgroud)
我已经在打字稿操场上尝试过了,它有效,我得到true了c instanceof B。但它在行中显示了一条警告new t("c"),即:“此表达式不可构造。类型‘函数’没有构造签名。”
这样做的正确方法是什么?谢谢
我出于std::list教育目的重新实现。
我想知道是否有一种方法可以允许用户使用此语法进行初始化:
my::list l = {1, 2, 3, 4, 5};
Run Code Online (Sandbox Code Playgroud) 好吧,我会说清楚,我在将变量声明为另一个类的实例时遇到错误。这两个类都在不同的文件中,我做了一个简单的例子来快速显示错误是什么。
我得到的错误如下:
PHP message: PHP Fatal error: New expressions are not supported in this context in Nameclassfile.php on line 6"
Run Code Online (Sandbox Code Playgroud)
我不是 php 专家,目前我运行 php 8.1,我什至不确定是否允许将变量声明为其他类的实例。
嗯,我的代码是:
<?php
require_once "Valueclassfile.php";
class NameClass {
private $name;
private $value = new ValueClass();
function __construct() {
$this->name = "Default name";
}
function get_name() {
return $this->name;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
<?php
class ValueClass {
private $value;
function __construct() {
$this->value = "Default Value";
}
function get_value() {
return $this->value;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我希望你能帮我一把,致以最诚挚的问候。
我有这个有效的课程:
class Point:
def __init__(self):
self.checks = [self.check1, self.check2]
def check1(self):
return True
def check2(self):
return True
def run_all_checks(self):
for check in self.checks:
check()
Run Code Online (Sandbox Code Playgroud)
实例变量checks并不特定于实例,因此我想将其移至类级别,这是我的尝试:
class Point:
def __new__(cls, *args, **kwargs):
cls.checks = [cls.check1, cls.check2]
return super(Point, cls).__new__(cls, *args, **kwargs)
def check1(self):
return True
def check2(self):
return True
def run_all_checks(self):
for check in self.checks:
check()
Run Code Online (Sandbox Code Playgroud)
类定义seems可以工作(在没有syntax错误的意义上),但是当我运行它时,出现错误:
TypeError: Point.check1() missing 1 required positional argument: 'self'
Run Code Online (Sandbox Code Playgroud)
更新
通过@juanpa.arrivilillaga的解决方案,我的问题得到了解决:
class ParentFuncs:
def check1(self):
print("check1")
def check2(self):
print("check2") …Run Code Online (Sandbox Code Playgroud) 嗨任何人可以请解释我为什么是这样的代码片段给我的StackOverflowError我很感激,如果你能解释发生了什么事时,instanceObj初始化和调用构造函数ObjectTest和java.lang.Object继承构造函数.在我看来ObjectTest构造函数循环一遍又一遍.但我不知道确切的原因?所以任何建议......
public class ObjectTest {
public ObjectTest() {
}
ObjectTest instanceObj = new ObjectTest();
public static void main(String[] args) {
ObjectTest localObj = new ObjectTest();
}
}
Run Code Online (Sandbox Code Playgroud) 我知道这种问题反复浮动一遍又一遍,但我找不到任何答案,我无法解决我的问题:(.
我正在开发一个应用程序,我需要获取音频流.我决定和MPMoviePlayer一起去,所以我这样做了:
#import "MediaPlayer/MediaPlayer.h"
@interface FirstViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
...
IBOutlet MPMoviePlayerViewController *theMovie;
...
}
...
@property (nonatomic, retain) MPMoviePlayerViewController *theMovie;
Run Code Online (Sandbox Code Playgroud)
在实现中,我只是@ synthesize -d它.
现在,每当我分配它并尝试访问它的成员或方法时,我得到这个该死的错误无法识别的选择器在初始化后的第一行发送到实例:
self.theMovie = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:@"http://netvarp.kringvarp.fo:554/radio/16/playlist.m3u8"]];
self.theMovie.moviePlayer.controlStyle = MPMovieControlStyleNone;
...
Run Code Online (Sandbox Code Playgroud)
(这是在viewDidLoad方法中).
我在这行中得到错误:
self.theMovie.moviePlayer.controlStyle = MPMovieControlStyleNone;
Run Code Online (Sandbox Code Playgroud)
或者我在初始化后调用的任何东西.
如果我删除IBOutlet,如果我在没有'self'的情况下调用它,如果声明一个MPMoviePlayerController,也是如此.我无法弄清楚我2天做错了什么!真难为情 :(
任何帮助将不胜感激.
我忘了提及,目标操作系统> 3.0.在模拟器上一切正常,但在设备上没有(iPhone 2G和iPhone 3G,都是IOS 3.1.3)
嗨,我有一个具有此数据类型的haskell模块
data Blabla = Blabla [Integer]
[Char]
[(Integer,Char,Char,Integer,String)] Integer
Run Code Online (Sandbox Code Playgroud)
我希望使用实例show来显示它们
integers=[1,2,3]
chars=[a,b,c]
specialList=[(1,a,b,2,cd),(3,b,c,4,gh)]
interger=44
Run Code Online (Sandbox Code Playgroud)
thanx帮助......
我想创建类的实例,从列表值或字典键或值中获取它们的名称.基本上我想做的是:
iter = ['foo', 'bar']
for a in iter:
a = Cls()
Run Code Online (Sandbox Code Playgroud)
并获取Cls()类的foo和bar实例,而不是在每个循环中更新引用的实例.
提前致谢.
我正在使用c#(.NET)中的套接字项目.我正在使用某些类(数据包)处理数据.当我正在寻找内存使用时,如果数据传入,它就会上升!即创建类.如何从内存中删除(手动)类和未使用的变量/类(不使用GC!)?
如果我尝试基本的东西,比如只接收数据,它就会再次上升.此时,我想完全从内存中删除/删除类/变量!
有人可以帮忙吗?
class A():
def __init__(self):
self.x = 3
@staticmethod
def f(x):
return x ** 2
def g(self):
return self.x ** 2
def run(self):
self.f(self.x)
def run2(self):
self.g()
Run Code Online (Sandbox Code Playgroud)
哪个更优选,run()或run2?前者将实例变量显式传递self.x给函数f; 后者没有.
谢谢.
instance ×10
class ×5
python ×3
c# ×1
c++ ×1
constructor ×1
haskell ×1
instanceof ×1
iphone ×1
java ×1
javascript ×1
list ×1
local ×1
loops ×1
memory ×1
module ×1
object ×1
objective-c ×1
oop ×1
overloading ×1
php ×1
show ×1
typescript ×1
variables ×1
xcode ×1