Urgent.News

What's breaking now, across thousands of outlets.

Tech

POO: Scope / Visibility

Introdução Se você não escrever nenhum modificador num membro de classe, ele vira private por padrão. E se você não escrever nenhum modificador numa classe de nível superior, ela vira internal por padrão. class Veiculo // sem "public" aqui, seria "internal" por padrão { double _combustivel ; // sem modificador = private implícito — CUIDADO, é fácil esquecer } Tabela completa de todos os níveis,…

Caso não adicione nenhum modificador a um membro de classe, ele receberá acesso privado por padrão. Se nenhum modificador for especificado a uma classe de nível superior, ela será internal por padrão. A classe Veiculo, quando declarada sem nenhum modificador, será internal por padrão.

Exemplo de tabela de visibilidade de modificador:

Modificador | Acesso permitido

-------------|------------------

private | Apenas classe em si

protected | Classe e suas subclasses em qualquer assembly

internal | Qualquer código dentro do mesmo assembly (projeto/DLL)

protected internal | Subclasses ou mesmo assembly (união dos dois)

private protected | Subclasses no mesmo assembly (interseção — C# 7.2+)

public | Qualquer lugar (C# 11+)

Aplicado à classe Veiculo:

- O campo _senhaAlarme é private, acessível apenas por Veiculo e suas subclasses.

- _quilometragem é protected, acessível por Veiculo e suas subclasses.

- CodigoFrota é internal, acessível por qualquer classe do mesmo projeto.

- VelocidadeAtual tem getter público (todo mundo pode lê-la) e setter privado (só Veiculo pode alterá-la).

- Odometro tem getter protected internal (subclasses OU mesmo assembly podem ler) e setter apenas para subclasses.

Prática recomendada: Campos devem ser private, expor métodos de leitura controlados; métodos internos devem ser private; partes do contrato público da classe devem ser public; use protected apenas quando houver necessidade de herança e a subclasse precisar de acesso direto.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Why Your Alpine Containers Might Be Hiding a Security Blind Spot

Hey, Been looking at container base images lately and noticed something worth sharing about Alpine that might not be obvious.

  • Alpine containers use BusyBox base image with combined Unix utilities.
  • BusyBox vulnerability exposes entire userspace due to its architecture.
  • Teams minimize/eliminate BusyBox, integrate security checks early in image build.

Your Supabase anon key can probably read your whole users table

Here is a Supabase row-level security policy. It was on a profiles table holding names, timezones and weekly availability for real people. create policy "profiles are viewable" on public .

  • Anonymous key can access entire users table
  • Row-level security policy allows viewing own rows
  • Function created to return only counts

More from Saturday 29 August →