Object Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Suporta todas as classes na hierarquia de classes .NET e fornece serviços de baixo nível a classes derivadas. Esta é a classe base definitiva de todas as classes .NET; é a raiz da hierarquia de tipos.
public ref class System::Object
public class Object
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDual)]
[System.Serializable]
public class Object
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDual)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class Object
type obj = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDual)>]
[<System.Serializable>]
type obj = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDual)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type obj = class
Public Class Object
- Atributos
Exemplos
O exemplo seguinte define um tipo de Ponto derivado da Object classe e sobrepõe muitos dos métodos virtuais da Object classe. Além disso, o exemplo mostra como chamar muitos dos métodos estáticos e de instância da Object classe.
using System;
// The Point class is derived from System.Object.
class Point
{
public int x, y;
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
public override bool Equals(object obj)
{
// If this and obj do not refer to the same type, then they are not equal.
if (obj.GetType() != this.GetType()) return false;
// Return true if x and y fields match.
var other = (Point) obj;
return (this.x == other.x) && (this.y == other.y);
}
// Return the XOR of the x and y fields.
public override int GetHashCode()
{
return x ^ y;
}
// Return the point's value as a string.
public override String ToString()
{
return $"({x}, {y})";
}
// Return a copy of this point object by making a simple field copy.
public Point Copy()
{
return (Point) this.MemberwiseClone();
}
}
public sealed class App
{
static void Main()
{
// Construct a Point object.
var p1 = new Point(1,2);
// Make another Point object that is a copy of the first.
var p2 = p1.Copy();
// Make another variable that references the first Point object.
var p3 = p1;
// The line below displays false because p1 and p2 refer to two different objects.
Console.WriteLine(Object.ReferenceEquals(p1, p2));
// The line below displays true because p1 and p2 refer to two different objects that have the same value.
Console.WriteLine(Object.Equals(p1, p2));
// The line below displays true because p1 and p3 refer to one object.
Console.WriteLine(Object.ReferenceEquals(p1, p3));
// The line below displays: p1's value is: (1, 2)
Console.WriteLine($"p1's value is: {p1.ToString()}");
}
}
// This code example produces the following output:
//
// False
// True
// True
// p1's value is: (1, 2)
//
open System
// The Point class is derived from System.Object.
type Point(x, y) =
member _.X = x
member _.Y = y
override _.Equals obj =
// If this and obj do not refer to the same type, then they are not equal.
match obj with
| :? Point as other ->
// Return true if x and y fields match.
x = other.X && y = other.Y
| _ ->
false
// Return the XOR of the x and y fields.
override _.GetHashCode() =
x ^^^ y
// Return the point's value as a string.
override _.ToString() =
$"({x}, {y})"
// Return a copy of this point object by making a simple field copy.
member this.Copy() =
this.MemberwiseClone() :?> Point
// Construct a Point object.
let p1 = Point(1,2)
// Make another Point object that is a copy of the first.
let p2 = p1.Copy()
// Make another variable that references the first Point object.
let p3 = p1
// The line below displays false because p1 and p2 refer to two different objects.
printfn $"{Object.ReferenceEquals(p1, p2)}"
// The line below displays true because p1 and p2 refer to two different objects that have the same value.
printfn $"{Object.Equals(p1, p2)}"
// The line below displays true because p1 and p3 refer to one object.
printfn $"{Object.ReferenceEquals(p1, p3)}"
// The line below displays: p1's value is: (1, 2)
printfn $"p1's value is: {p1.ToString()}"
// This code example produces the following output:
//
// False
// True
// True
// p1's value is: (1, 2)
//
' The Point class is derived from System.Object.
Class Point
Public x, y As Integer
Public Sub New(ByVal x As Integer, ByVal y As Integer)
Me.x = x
Me.y = y
End Sub
Public Overrides Function Equals(ByVal obj As Object) As Boolean
' If Me and obj do not refer to the same type, then they are not equal.
Dim objType As Type = obj.GetType()
Dim meType As Type = Me.GetType()
If Not objType.Equals(meType) Then
Return False
End If
' Return true if x and y fields match.
Dim other As Point = CType(obj, Point)
Return Me.x = other.x AndAlso Me.y = other.y
End Function
' Return the XOR of the x and y fields.
Public Overrides Function GetHashCode() As Integer
Return (x << 1) XOR y
End Function
' Return the point's value as a string.
Public Overrides Function ToString() As String
Return $"({x}, {y})"
End Function
' Return a copy of this point object by making a simple field copy.
Public Function Copy() As Point
Return CType(Me.MemberwiseClone(), Point)
End Function
End Class
NotInheritable Public Class App
Shared Sub Main()
' Construct a Point object.
Dim p1 As New Point(1, 2)
' Make another Point object that is a copy of the first.
Dim p2 As Point = p1.Copy()
' Make another variable that references the first Point object.
Dim p3 As Point = p1
' The line below displays false because p1 and p2 refer to two different objects.
Console.WriteLine([Object].ReferenceEquals(p1, p2))
' The line below displays true because p1 and p2 refer to two different objects
' that have the same value.
Console.WriteLine([Object].Equals(p1, p2))
' The line below displays true because p1 and p3 refer to one object.
Console.WriteLine([Object].ReferenceEquals(p1, p3))
' The line below displays: p1's value is: (1, 2)
Console.WriteLine($"p1's value is: {p1.ToString()}")
End Sub
End Class
' This example produces the following output:
'
' False
' True
' True
' p1's value is: (1, 2)
'
Observações
Para mais informações sobre esta API, consulte Observações suplementares da API para Objecto.
Construtores
| Name | Description |
|---|---|
| Object() |
Inicializa uma nova instância da Object classe. |
Métodos
| Name | Description |
|---|---|
| Equals(Object, Object) |
Determina se as instâncias de objeto especificadas são consideradas iguais. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. |
| Finalize() |
Permite que um objeto tente libertar recursos e realizar outras operações de limpeza antes de ser recuperado pela recolha de lixo. |
| GetHashCode() |
Serve como função de hash predefinida. |
| GetType() |
Obtém o Type da instância atual. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. |
| ReferenceEquals(Object, Object) |
Determina se as instâncias especificadas Object são a mesma instância. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. |
Aplica-se a
Segurança de Thread
Os membros estáticos públicos (Shared em Visual Basic) deste tipo são seguros para threads. Os membros da instância não têm garantia de serem seguros para threads.